GetDate () belirli bir tarihe eşitse, bir metin

Tarih 24 Aralık ise, belirli bir metni saklı yordamda göstermek istiyorum. Geçerli tarihin 24 Aralık olup olmadığını ve ardından belirli bir metni nasıl ayarlayabileceğimi nasıl kontrol edebilirim, aksi takdirde metin boş bırakılmalıdır.

1
Bu basit bir CASE , ne denedin?
katma yazar EzLo, kaynak

5 cevap

'ı kullanabilirsiniz. FORMAT() işlevi, SQL 2012'de ve daha yeni sürümlerde kullanılabilir:

SELECT CASE WHEN FORMAT(GETDATE(), 'MM-dd') = '12-24'
            THEN 'ALMOST XMAS'
            ELSE ''
            END AS TEXT

Veya ile birlikte IIF() :

SELECT IIF(FORMAT(GETDATE(), 'MM-dd') = '12-24', 'ALMOST XMAS', '') AS TEXT
0
katma

Böyle bir şey mi arıyorsunuz?

SELECT 
CASE WHEN MONTH(GETDATE()) = 12 AND DAY(GETDATE()) = 24 
    THEN 'Merry Christmas!' 
    ELSE '' 
END  
0
katma
Kolay ve güzel, teşekkürler!
katma yazar MTplus, kaynak

SQL Server 2012 ve üstünü kullanıyorsanız, aşağıda daha kısa ve etkili bir komut dosyasıdır:

SELECT IIF(MONTH(GETDATE()) = 12 AND DAY(GETDATE()) = 24, 'Your Text', '')
0
katma
declare @dateString nvarchar(50) = '2018-12-20';
declare @text nvarchar(50);
If Convert(Date, GetDate()) = Convert(Date, dateString)
   set @text = "This is it"
0
katma
    if(datepart(MONTH,GETDATE())=12 AND  datepart(DAY,GETDATE())=24)
         SELECT 'it is dec 24th'
    else
         SELECT ' '

--- you can use datename() instead of datepart() to get month as text 12>>december

0
katma