您的位置:首页 > 数据库

sqlserver sql将日期和时间字符串字段合并成datetime类型

2016-12-16 10:14 295 查看
日期为字符串类型,如’20161216’,

如果时间可能会有两种情况的话:

长度为六:’101314’,长度为五:’91314’,

需要对时间字段进行判断,不然结果会有问题。

如果只有六位则省略判断了:如’091314’

另外我这里还判断了日期还有时间是否为0,当然可以以自己的需求进行更改,比如把为null值的排除掉~~。

sql server sql:

日期字段名:riqi,时间字段名:shijian

select case when riqi <> 0 and  shijian <>0
then cast(
(riqi +' ' + case when len(shijian)<6 then         '0'+substring(shijian,1,1)+':'+substring(shijian,2,2)+':'+substring(shijian,4,2)
else substring(shijian,1,2)+':'+substring(shijian,3,2)+':'+substring(shijian,5,2) end) as datetime)
else getdate() end;


最终显示的结果为’2016-12-16 10:13:14’ 或则’2016-12-16 09:13:14’~~

注:如果对时间格式有需求的话,可以使用convert(数据type,字段名,风格style)函数~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sql server sql
相关文章推荐