Belli bir karakterden öncesini veya sonrası almak için fonksiyonların kodları ve kullanımı

SQL’de herkesin sık ihtiyaç duyduğu bir ihtiyacımızın en basit halini sizlerle paylaşacağım. Bir tablo alanında belli bir karakterden öncesini veya sonrasını bulabilmemiz için fonksiyon oluşturmamız gerekmektedir. Fonksiyonların scriptini sayfanın aşağısında paylaştım. Şimdi sizlere kullanımından örnek vereceğim. Sınıflar Tablomuzda ASınıfı alanında (-) işaretine göre sağını veya solunu almayı göstereceğim. SELECT dbo.ysf_KeySuffix(ASınıfı, ‘-‘) FROM Sınıflar WITH(NOLOCK) –Bu […]

Veritabanının İhtiyacı Olan Indexleri Tespit Etme

Index, veri tabanı tabloları üzerinde tanımlanan ve veriye daha az işlemle daha hızlı ulaşan veri tabanı nesneleridir. Indexler hakkında klasik bir örnek olarak telefon rehberi verilebilir. Telefon rehberindeki kayıtların sıralı olmaması durumunda, yani her kaydın telefon defterinde rastgele tutulması durumunda, arayacağımız bir isim için tüm rehberi gezmemiz gerekecek. Ama rehberinizdeki kayıtlar sıralı olsaydı, aradığımız ismin rehberin […]

MSSQL de Server Performansına bakmak için

Mssql de server performansına bakmak için aşağıdaki script çalıştırmak yeterli olur. SELECT SPID = er.session_id, STATUS = ses.status, [Login] = ses.login_name, Host = ses.host_name, BlkBy = er.blocking_session_id, DBName = DB_NAME(er.database_id), CommandType = er.command, SQLStatement = SUBSTRING( qt.text, er.statement_start_offset / 2, ( CASE WHEN er.statement_end_offset = -1 THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) * 2 ELSE er.statement_end_offset END – […]

Tablo alan isimlerini tek satırda alma

Herhangi bir tablomuzun tüm alan isimlerini tek satırda yanyana virgül ile ayrılarak alma scriptini sizlerle paylaşıyorum. DECLARE @Fld nvarchar(max) SELECT @Fld = STUFF(( SELECT name FROM sys.all_columns TBL (NOLOCK) WHERE object_id = OBJECT_ID(‘TABLOADI’) AND is_computed = 0 AND is_identity = 0 ORDER BY name FOR XML PATH(”) ), 1, 1, ”) SET @Fld = REPLACE(REPLACE(REPLACE(@Fld, […]

MySql de Concat Deyimlerinin Kullanımı

CONCAT() işlevi, iki veya daha fazla dizeyi birbirine ekler. SELECT CONCAT(‘Merhaba’,’Ben’,’Muhittin’, ‘Akın’,’ ‘,’Sql’,’yazılarına’,’devam’,’ediyoruz’) AS RESULT Çıktı; MerhabaBenMuhittinAkın Sqlyazılarınadevamediyoruz

Mysql de Tablo Detaylandırma

Veritabanı içerisindeki tabloları ve bu tablolara ait olan değerlerin tanımlamalarını göstermektedir. DESCRIBE [tabloadı];

Sql’de View, Prosedür ve Fonksiyon kodu içerisinde arama yapma

Oluşturduğumuz View, Prosedür ve Fonksiyon kodlarının içerisinde belirli bir kelimeyi aramak için aşağıdaki sorguyu kullanabiliriz. Seçtiğimiz veri tabanında ve belirttiğimiz kriterlerde arama yapmamızı sağlayan bu script, zamandan çok tasarruf sağlamaktadır. Özellikle Prosedür ve Viewlerin sayısı fazla olan veritabanlarında çok ihtiyaç olduğunu düşündüğümüz bu script umarız sizlerin de işlerinizde kolaylıklar sağlar. SELECT o.name        […]

MSSQL Dublicate Kayıtları Bulma

MSSQL’de bir veritabanımızın tablosunda ki bir alanda herhangi bir verinin dublicate olup olmadığını öğrenmek için aşağıdaki sorguyu kullanabiliriz. SELECT COUNT(AlanAdi) ,AlanAdi FROM TabloAdi (Nolock) GROUP BY AlanAdi Having COUNT(AlanAdi) >1

Sql Datetime Convert Modelleri

SQL sorgularında, tarih (datetime) sorguları her zaman sıkıntılı olur. Çünkü tarih formatı bir çok değişik formlarda sunulmaktadır. Örneğin: iki bin yılının, birinci ayının yirmisi dediğimizde; bizler 20.01.2000 olarak algılarken. Amerika gibi ülkeler 01.20.2000 olarak algılarlar. Daha teknik bir örnek verecek olursak SQL veri tabanınızda tarih alanınız gg.aa.yyyy şekilde ki gibi noktasal ayraçla ayarlanmışken program tarafında […]