iT邦幫忙

5

[T-SQL]快速轉換日期格式的方法

感謝 jj32134 大的提醒
為避免重複性文章,所以將此篇分享以重點列出

詳盡的範例請參考 如何使用 CAST 與 CONVERT 格式化日期與時間資料

當我們在 SQL statement 中,要將日期格式轉換成文字使用時,
我們第一個想到的就是 convert or cast 這兩個資料型態轉換函式
(只適合 Microsoft SQL Server 使用)
要轉成 "yyyy/mm/dd" 時,我們可以透過

select convert(varchar(10),getdate(),111)

執行結果:

'2008/10/07'

如果我們要將日期轉換成 "yyyymmdd" 格式的文字時,該怎麼寫呢?

沒關係,再做一層函數封裝即可

select replace(convert(varchar(10),getdate(),111),'/','')

執行結果:

'20081007'

是不是簡便又快速呢?

提供給您參考


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
jj32134
iT邦新手 2 級 ‧ 2008-10-07 11:10:43
jamesjan iT邦高手 1 級 ‧ 2008-10-07 12:16:37 檢舉

感謝您提醒,確實有點重複
已將該篇連結附於文末

0
jamesjan
iT邦高手 1 級 ‧ 2008-10-07 12:03:40

這樣可以讓 T-SQL 更精簡一點,更容易閱讀
尤其是在撰寫 stored procrdure 時
當然不是所有的格式化都可以這樣做
並沒有說其他方式不好
您提到的該篇鐵人賽文章,寫得很詳盡
我提供另外一個函數 replace 搭配使用
供參考

0
tombo
iT邦高手 1 級 ‧ 2010-02-01 17:05:57

要把日期轉成 YYYYMMDD 格式,
更精簡的做法是
CONVERT(char(8), getdate(), 112)

我要留言

立即登入留言