本文介紹了TSQL - 比較格式化為字符串的日期(年和日歷周)的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我需要一種方法來比較以下字符串格式的日期:'2015 CW 14'
或 '2016 CW 03'
'使用當前年和周,以測試該值是否在過去或>=當前年和周.
I need a way to compare dates in the following string format: '2015 CW 14'
or '2016 CW 03'
'
with the current year and week in order to test if the value is in the past or >= the current year and week.
DECLARE @cw VARCHAR(50)
SET @cw = '2015 CW 13'
SELECT @cw;
SELECT Cast(Year(Getdate()) AS VARCHAR(50))
+ ' CW '
+ Cast(Datepart(week, Getdate()) AS VARCHAR(50))
我相信我的方法不會讓我達到目標.
I believe my approach won't get me there.
推薦答案
我認為你在 2016 CW 03
上有問題我將你的聲明編輯為 @cw2
,并且您可以看到 <
或 >
或 =
將用于比較.
I think you have a problem on 2016 CW 03
I edit your statement to @cw2
, And you can see <
or >
or =
will work for comparing.
這條線索很有用:
DECLARE @cw VARCHAR(50),
@cw2 VARCHAR(50)
SET @cw = '2015 CW 03'
SET @cw2 = Cast(Year(Getdate()) AS VARCHAR(50))
+ ' CW '
+ RIGHT('00' + Cast(Datepart(week, Getdate()) AS VARCHAR(50)), 2)
SELECT @cw,
@cw2,
CASE
WHEN @cw = @cw2 THEN 0
WHEN @cw < @cw2 THEN -1
ELSE 1
END
這篇關于TSQL - 比較格式化為字符串的日期(年和日歷周)的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!
【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!