Sql Bugünün Tarihini Filtreleme

Sql de tarih alanını sadece gün bazında yani saat bilgisi olmadan filtrelemek için tarih alanını önce sadece tarih formatına çevirirerek yapabiliriz.

select alan1,alan2,CONVERT(varchar, TarihAlanı, 104) …. from tablo
where
(CONVERT(varchar, TarihAlanı, 104) = CONVERT(varchar, { fn NOW() }, 104))

(CONVERT(varchar, TarihAlanı, 104)= 12.05.2010 21:55:00.000 ->   12.05.2010

Sql case (koşul) yapısı

Sql de bir kaç farklı duruma göre veri getirmek için case komutunu kullanabiliriz.

SELECT     STOK_KODU,STOK_ADI, CASE WHEN ( SAYIM -DEPO ) IS NULL  then 0 Else SAYIM -DEPO end AS Fark from TBLSTOK

Eğer Sayım – Depo null bir değer döndürürse sql onun yerine 0 yazacaktır.

C# ve SQL'de Bugünün Tarihini Almak (DateTime.Today)

C#’da bugünün tarihine ulaşmak için:

DateTime.Today.ToShortDateString();

kullanabilirsiniz. Sql’den gelen datetime türündeki veriyi yalnızca tarihe çevirmek için DateTime türünden bir nesne tanımlayın:

DateTime bugun = new DateTime();

bugun = SqldenGelenBilgi;

bugun.Today.ToShortDateString();

şeklinde kullanabilirsiniz.

Eklenen (insert) kaydın ID'sini almak (id'sini geri döndürmek)

insert cümleciğinin sonuna ; (noktalı virgül) ile birlikte SELECT SCOPE_IDENTITY() yazılması, eklenen kaydın ID’sinin geri dönmesini sağlar. C#’da bu kodun kullanımı aşağıdaki gibidir.

__cmd.CommandText = “insert into tablo(ad) values(‘Mehmet’) ; SELECT SCOPE_IDENTITY()”;

int __Id= Convert.ToInt32(__cmd.ExecuteScalar());

Delete sorgusunda ilişki kurmak (MSSQL)

MSSQL’de birbiriyle ilişkili iki tablonuz var ve ilişkilendirmek yapmak istiyorsanız, bu sorgu size göre:

delete SilinecekTabloAdı from SilinecekTabloAdı, İlişkiliTablo where SilinecekTabloAdı.İlişkiliTabloId=İlişkiliTablo.Id and vs. vs…

%d blogcu bunu beğendi: