задаць тэкст, калі GetDate () роўна да пэўнай даты

Я хачу, каб паказаць пэўны тэкст у захоўваемай працэдуры, калі дата Снежні 24'th. Як я магу праверыць, калі бягучая дата Снежні 24'th, а затым ўсталяваць канкрэтны тэкст і ў адваротным выпадку тэкст павінен быць пустым.

1
Гэта просты CASE , што вы спрабавалі?
дададзена аўтар EzLo, крыніца

5 адказы

Вы можаце выкарыстоўваць FORMAT() функцыя, даступная ў SQL 2012 і навей:

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

Або ў спалучэнні з <�моцны> IIF() :

SELECT IIF(FORMAT(GETDATE(), 'MM-dd') = '12-24', 'ALMOST XMAS', '') AS TEXT
0
дададзена

Вы шукаеце нешта накшталт гэтага?

SELECT 
CASE WHEN MONTH(GETDATE()) = 12 AND DAY(GETDATE()) = 24 
    THEN 'Merry Christmas!' 
    ELSE '' 
END  
0
дададзена
Лёгка і прыгожы, дзякуй!
дададзена аўтар MTplus, крыніца

Калі вы карыстаецеся SQL Server 2012 і вышэй, ніжэй і карацей эфектыўны скрыпт:

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