25 Ocak 2011, Salı
MS SQL tarih karşılaştırma?
2 tarih (datetimes) var:
tarih1 = 2010-12-31 15:13:48.593
tarih2 = 2010-12-31 00:00:00.000
Aynı gün, farklı zamanlarda. Tarih1 ve tarih2 kullanarak <= karşılaştırarak tarih1 zaman nedeniyle çalışmıyor. Tarih1 <= tarih2 çok yanlış, ama doğru olmalı. Sadece bu yıl bakarak, aynı ay ve gün karşılaştırabilir miyim? SQL Server 2008.
Teşekkür ederim :)
CEVAP
25 Ocak 2011, Salı
SELECT CASE WHEN CAST(date1 AS DATE) <= CAST(date2 AS DATE) ...
Ne ihtiyacınız var.
Test Durumda
WITH dates(date1, date2, date3, date4)
AS (SELECT CAST('20101231 15:13:48.593' AS DATETIME),
CAST('20101231 00:00:00.000' AS DATETIME),
CAST('20101231 15:13:48.593' AS DATETIME),
CAST('20101231 00:00:00.000' AS DATETIME))
SELECT CASE
WHEN CAST(date1 AS DATE) <= CAST(date2 AS DATE) THEN 'Y'
ELSE 'N'
END AS COMPARISON_WITH_CAST,
CASE
WHEN date3 <= date4 THEN 'Y'
ELSE 'N'
END AS COMPARISON_WITHOUT_CAST
FROM dates
Verir
COMPARISON_WITH_CAST | COMPARISON_WITHOUT_CAST
Y N
Bunu Paylaş:
Karşılaştırma tarih aralıkları...
Karşılaştırma sadece JavaScript zaman ...
MS SQL tarih karşılaştırma?...
Bir DateTime nesnesi verildiğinde, nas...
İki tarih arasındaki tarihleri listesi...