1
我有一個表格,其格式爲日期。 YYYYDDDSQL Server日期轉換問題
我需要將它們轉換爲YYYY-MM格式
例如,我有個約會2016003
所以這應該成爲2016-01
。
同樣,2016055
日期應該成爲2016-02
有沒有創建一個用戶函數來顯示這些的方法嗎?
謝謝
我有一個表格,其格式爲日期。 YYYYDDDSQL Server日期轉換問題
我需要將它們轉換爲YYYY-MM格式
例如,我有個約會2016003
所以這應該成爲2016-01
。
同樣,2016055
日期應該成爲2016-02
有沒有創建一個用戶函數來顯示這些的方法嗎?
謝謝
我認爲最簡單的方法是將年份添加到年初。所以,要得到日期:
select dateadd(day, cast(right(col, 3) as int) - 1,
cast(left(col, 4) + '01-01' as date)
) as dte
然後,您可以根據需要進行格式化。例如,在SQL Server 2012+中,您可以使用format()
:
select format(dateadd(day, cast(right(col, 3) as int) - 1,
cast(left(col, 4) + '01-01' as date)
), 'YYYYMM'
) as yyyymm
請記住,您在當前表中的內容不是日期。它們是代表日期的數字。如果可能,應該停止將日期信息存儲爲數字或字符串。它們應該以日期或日期時間存儲。它會讓你的生活減少痛苦。 –