Kategori : TSQL

Sep 24 2009

ORACLE ile MSSQL Kod Karşılıkları..

AçıklamaOracleMS SQL Server
Smallest integer >= n CEIL CEILING
Modulus MOD %
Truncate number TRUNC <none>
Max or min number or string in list GREATEST,
LEAST
<none>
Translate NULL to n NVL ISNULL

As of 7.0, also: COALESCE

Return NULL if two values are equal DECODE

As of Oracle 9i, also:
NULLIF

NULLIF

Devamı ...

1 yorum - Gönderen : Mahmut Er (6:06 PM) - Kategori : SQL | TSQL

Sep 2 2009

CASE WHEN SQL Aramalarında Kullanma

Sql Sorgularında Order By'ın yetersiz kaldığı durumlarda ORDER By ile birlikte CASE WHEN kullanarak dönen sorgularımızı istediğimiz şekillerde sıralayabiliriz. Örneğin iki kolonda arama yaptığımızı düşünelim. NAME alanında bulunan eşlemeler önce, DETAIL alanında bulunan eşlemeler sonra gözüksün gibi koşulları CASE WHEN kullanarak yapabiliriz.

SELECT *
FROM DENEME
WHERE
NAME LIKE '%x%'OR
SURNAME LIKE '%x%'OR
DETAIL LIKE '%x%'
ORDER BY
CASE 'x'
       WHEN NAME THEN 1
       WHEN SURNAME THEN 2
       WHEN DETAIL THEN 3
 END

0 yorum - Gönderen : Yunus Özay (1:17 AM) - Kategori : SQL | TSQL

Sep 1 2009

ORDER BY Üzerinde CASE WHEN Kullanımı (MSSQL+TSQL)

Sql sorgularımızda ORDER BY kullanırken yani query sonuçlarımızı istediğimiz kritere göre sıralarken bazen çok özel durumlarla karşılaşabiliyoruz..Tüm sonuçlar alfabetik gelsin ama sadece 1 kayıt en sonda gelsin yada en başta gelsin gibi değişik durumlarla karşılaşabiliyoruz.Bunun için ORDER BY üzerinde CASE WHEN kullanarak istediğimiz şekilde sıralı sorgular almak mümkün.Lafı çok fazla uzatmadan sizinde daha iyi anlamanız açısından örnek uygulamayı resimli olarak ekliyorum.Faydalı olması dileği ile..

Devamı ...

0 yorum - Gönderen : Mahmut Er (3:26 AM) - Kategori : SQL | TSQL

Aug 28 2009

MSSQL Rastgele Kayıt Getirme

Mssql'de çoğu zaman rastgele kayıtlar çekmek isteriz. Rastgele 10 ürün, rastgele 10 çalışan vs. gibi. Bunu yapabilmek için MSSQL 2008 de denediğimiz ve çalıştırdığımız bir kod var.

SELECT TOP 10 EMPLOYEE_ID FROM EMPLOYEES ORDER BY NEWID()

Bu şekilde employees tablomuzdan her seferinde farklı employee_id leri çekebiliriz.

0 yorum - Gönderen : Yunus Özay (1:16 AM) - Kategori : SQL | TSQL

Jul 18 2009

MSSQL 2005 Sistem Tabloları Haritası

İlginenenler için oldukça güzel ve detalı bir çalışma...

http://www.microsoft.com/downloads/details.aspx?familyid=2ec9e842-40be-4321-9b56-92fd3860fb32&displaylang=en

bu sayfa üzerinden download yapabilirsiniz.

0 yorum - Gönderen : Mahmut Er (12:27 AM) - Kategori : SQL | TSQL

Jul 15 2009

TSQL ile PAGING

Daha önce MSSQL de paging neden ve nasıl yapılır diye bir içerik yayınlamıştım,okumayanlar ve bilmeyenler için bir kez daha söyleyeyim,database üzerinde paging yaparak verileri çekmek performans açısından sonra derece faydalıdır,zira çok büyük tablolarla çalışan yerlerde gösterilmek istenen kayır sayısı ne olursa olsun,10-20-50-100-200 herneyse bu kadar kayıtı göstermek için biz her seferinde tablomuzda kaç tane kayıt varsa hepsini çekeriz,dolayısı ile bize query olarak dönen structure'un boyutuda olması gerekenden çok fazla olur,sadece 20 kayıt göstereceksiniz diyelim,queryinizden 100 000 kayıt geliyor,bu hem database'i hemde programımızı gereksiz olarak yorar.Bunu engellemek için bu paging yani sayfalama dahada açıkcası sadece göstermek istediğimiz kadar veri çekme işini databasede halletmemiz performans açısından en doğru olanıdır.Dediğim gibi bununla ilgili bir içerik yayınlamıştım bu seferde bunu TSQL kullanarak nasıl yaparız onu paylaşmak istedim,dilerseniz bu kodu çok kullandığını tablolarınız için procedure halinede getirebilirsiniz.

Devamı ...

0 yorum - Gönderen : Mahmut Er (11:17 PM) - Kategori : SQL | TSQL