GetDate () ma'lum bir vaqtga teng bo'lsa, matnni belgilang

Agar sana 24-dekabrda bo'lsa, saqlangan amaliyotda muayyan matnni ko'rsatishni xohlayman. Joriy kunning 24-chi kuni ekanini qanday tekshiraman va keyin ma'lum bir matnni o'rnataman, aks holda matn bo'sh bo'lishi kerak.

1
Bu oddiy CASE , siz nimani sinab ko'rdingiz?
qo'shib qo'ydi muallif EzLo, manba

5 javoblar

Siz FORMAT() funktsiyasi, SQL 2012 va undan keyingi versiyalarda mavjud:

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

Yoki IIF() :

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

Siz shunday bir narsa qidiryapsizmi?

SELECT 
CASE WHEN MONTH(GETDATE()) = 12 AND DAY(GETDATE()) = 24 
    THEN 'Merry Christmas!' 
    ELSE '' 
END  
0
qo'shib qo'ydi
Oson va chiroyli, rahmat!
qo'shib qo'ydi muallif MTplus, manba

SQL Server 2012 va undan yuqorida foydalanayotgan bo'lsangiz, quyida qisqaroq va samarali skript:

SELECT IIF(MONTH(GETDATE()) = 12 AND DAY(GETDATE()) = 24, 'Your Text', '')
0
qo'shib qo'ydi
declare @dateString nvarchar(50) = '2018-12-20';
declare @text nvarchar(50);
If Convert(Date, GetDate()) = Convert(Date, dateString)
   set @text = "This is it"
0
qo'shib qo'ydi
    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
qo'shib qo'ydi