数据库中字段的转换(varchar转换成datetime)

由于

select *,convert(datetime,substring(Col008,1,8))as Col008 from s2

此种常用转换方式仍然有限制性,例如在数据库把字段更新成datetime时,不能精确求出分秒,或者有越界产生。

所以可以用下面的方式进行完整的时间转换


update s12 set Col008=cast  

(cast(substring (Col008,1,4)   as  varchar)+ '- '

+cast(substring (Col008,5,2)   as  varchar)+ '- '

+cast(substring (Col008,7,2)   as  varchar)+ '   '  

+cast(substring (Col008,9,2)   as   varchar)+': '+  

cast(substring (Col008,11,2)   as  varchar)+ ': '+

cast(substring (Col008,13,2)   as  varchar)+ '. '+  

cast('000'  as   varchar)   as  datetime)

或直接生成一张新表

select

 convert(datetime,substring(convert(char(8),[Col006]),1,4)+'.'

+substring(convert(char(8),[Col006]),5,2)+'.'

+substring(convert(char(8),[Col006]),7,2)+''

+substring(convert(char(20),[Col006]),9,2)+':'

+substring(convert(char(20),[Col006]),11,2)+':'

+substring(convert(char(20),[Col006]),13,2))[Col006],[Col001],[Col002],[Col003],[Col004],[Col005]

INTO [dbo].[43969]

from [dbo].[s111]




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值