當我們在 SQL statement 中,要將日期格式轉換成文字使用時,我們第一個想到的就是 convert or cast 這兩個資料型態轉換函式(只適合 Microsoft SQL Server 使用)
語法
使用 CAST:
CAST ( expression AS data_type )
使用 CONVERT:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
如果我們要將日期轉換成 "yyyy/mm/dd" 格式的文字時,該怎麼寫呢?
先談一個有點麻煩的方法,搭配 YEAR(), MONTH(), DAY()
檢視原始檔複製到剪貼簿列印關於
select Convert(varchar(4),YEAR(getdate()))+'/'
+Right('0'+Convert(varchar(2),MONTH(getdate())),2)+'/'
+Right('0'+Convert(varchar(2),DAY(getdate())),2)
執行結果:
'2008/10/07'
其實可以利用 convert 本身提供的 style 來做類似 Format 函數的工作
檢視原始檔複製到剪貼簿列印關於
select convert(varchar(10),getdate(),111)
執行結果:
'2008/10/07'
是不是很方便!!
可是我要轉成 '20081007' 耶!!
沒關係,再做一層函數封裝即可(或是 111 改成 112 亦可,謝謝網友指正)
檢視原始檔複製到剪貼簿列印關於
select replace(convert(varchar(10),getdate(),111),'/','')
執行結果:
'20081007'
是不是簡便又快速呢?
提供給您參考
sql日期时间函数
最新推荐文章于 2024-08-31 15:45:17 发布