sql日期时间函数

當我們在 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'

是不是簡便又快速呢?

提供給您參考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值