SQL筆記:SQL指令之DateTime各種格式化效果

有時候我們會偷懶,想要在T-SQL端就把一些日期進行格式化後以文字的格式被SELECT出來,這樣可以少掉一點點資料取用後的程式碼轉型、轉換或增進一點效能。由於每次用到這個功能(或有這個想法的時候)就要上網查一次很煩,因此就記錄在此以利日後查閱。(原文出處:How to Format Date/Time

T-SQL的日期時間格式化效果

T-SQL指令日期格式效果
SELECT convert(varchar, getdate(), 20) --常用2022-02-09 23:34:53
SELECT convert(varchar, getdate(), 21)2022-02-09 23:34:53.420
SELECT convert(varchar, getdate(), 23) --常用2022-02-09
SELECT convert(varchar, getdate(), 100)02 9 2020 11:34PM
SELECT convert(varchar, getdate(), 101)02/09/2020
SELECT convert(varchar, getdate(), 102) --常用2020.02.09
SELECT convert(varchar, getdate(), 103)09/02/2020
SELECT convert(varchar, getdate(), 104)09.02.2020
SELECT convert(varchar, getdate(), 105)09-02-2020
SELECT convert(varchar, getdate(), 106)09 02 2020
SELECT convert(varchar, getdate(), 107)02 09, 2020
SELECT convert(varchar, getdate(), 108) --常用23:34:53
SELECT convert(varchar, getdate(), 109)02 9 2020 11:34:53:420PM
SELECT convert(varchar, getdate(), 110)02-09-2020
SELECT convert(varchar, getdate(), 111) --常用2020/02/09
SELECT convert(varchar, getdate(), 112)20200209
SELECT convert(varchar, getdate(), 113)09 02 2020 23:34:53:420
SELECT convert(varchar, getdate(), 114)23:34:53:420
SELECT convert(varchar, getdate(), 120) --常用2020-02-09 23:34:53
SELECT convert(varchar, getdate(), 121)2020-02-09 23:34:53.420
SELECT convert(varchar, getdate(), 126)2020-02-09T23:34:53.420
SELECT replace(convert(varchar, getdate(), 111), '/', ' ')2020 02 09
SELECT convert(varchar(7), getdate(), 126)2020-02
SELECT right(convert(varchar, getdate(), 106), 8)02 2020

延伸參考

更詳細的SQL日期時間轉換整理:How to get different date formats in SQL Server

SQL T-SQL DateTime ToString Formatting yyyy MM dd HH mm ss