筆記 SQL Server 日期轉換的各種方式,不論是使用 YEAR 與 MONTH 自組字串,或者是使用 CONVERT 從長日期到短日期、從日期到字串,解決方案完全蒐錄 😉
說明
DateTime To Date (yyyy-mm-dd)
來源資料型別是日期格式 (DateTime, DateTime2, Timestamp) 轉換為精簡的日期 (Date)
SELECT CONVERT(date, getdate())
DateTime To String
來源資料型別是日期格式 (DateTime, DateTime2, Timestamp) 轉換為字串,可以使用不同的 Style Format
SELECT CONVERT(varchar(10), getdate(), 112)
Style Enum | Standard | Format |
---|---|---|
101 | U.S. | mm/dd/yyyy |
102 | ANSI | yyyy.mm.dd |
103 | British / French | dd/mm/yyyy |
104 | German | dd.mm.yyyy |
105 | Italian | dd-mm-yyyy |
110 | USA | mm-dd-yyyy |
111 | Japan | yyyy/mm/dd |
112 | ISO | yyyymmddd |
23 | ISO8601 | yyyy-mm-dd |
126 | ISO8601 | yyyy-mm-ddThh:mi:ss.mmm |
127 | ISO8601 with time zone Z. | yyyy-MM-ddThh:mm:ss.fffZ |
DateTime String From Scratch
手工組日期字串
SELECT YEAR(SellStartDate) SellStartYear, DATENAME(mm,SellStartDate) SellStartMonth,
DAY(SellStartDate) SellStartDay, DATENAME(dw, SellStartDate) SellStartWeekday,
ProductID, Name
FROM SalesLT.Product
ORDER BY SellStartYear;