Ssms
轉換儲存為 varchar 的日期
我正在創建一個查詢,其中有一列日期以 DD-MMM-YYYY 格式儲存為 VARCHAR。
您能告訴我如何將其轉換為日期格式嗎?
我不想以任何方式更改原始表,因為它不是我的修補程序!
您可以使用
CAST
將您的VARCHAR
值轉換為DATE
格式。CAST 的語法:
CAST ( expression AS data_type [ ( length ) ] )
範例執行:您可以單獨轉換為 DATE 或 DATETIME 格式:
DECLARE @TestDate AS VARCHAR (12) = '22-MAY-2015'; SELECT CAST(@TestDate AS DATE);
輸出:
2015-05-22
DECLARE @TestDate1 AS VARCHAR (12) = '22-MAY-2015'; SELECT CAST(@TestDate1 AS DATETIME);
輸出:
2015-05-22 00:00:00.000
在/和數據類型
CONVERT
之間轉換時應該使用。date``datetime``varchar
通過使用
CONVERT
,您可以為您的數據明確指定日期和時間樣式。DD-MMM-YYYY 的日期格式,對應於日期格式 105,因此您可以使用如下內容:DECLARE @TestDate AS VARCHAR (12) = '06-MAR-2017'; SELECT CONVERT(DATE,@TestDate,105);
關於為什麼要支持
CONVERT
的其他原因CAST
,本文提供了更多範例。