设为首页 - 加入收藏 东莞站长网 (http://www.0769zz.com)-电商,营销推广,IT,建站经验,VR,5G,大数据,站长网!
热搜: 实现 创业者 美国 华为
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 将日期和时间组合(连接)到日期时间

发布时间:2021-01-24 23:55 所属栏目:[MsSql教程] 来源:网络整理
导读:使用SQL Server 2008,此查询非常有用: select CAST(CollectionDate as DATE),CAST(CollectionTime as TIME)from field 给我两个这样的列: 2013-01-25 18:53:00.00000002013-01-25 18:53:00.00000002013-01-25 18:53:00.00000002013-01-25 18:53:00.0000000

使用SQL Server 2008,此查询非常有用:

select CAST(CollectionDate as DATE),CAST(CollectionTime as TIME)
from field

给我两个这样的列:

2013-01-25  18:53:00.0000000
2013-01-25  18:53:00.0000000
2013-01-25  18:53:00.0000000
2013-01-25  18:53:00.0000000
    .
    .
    .

我正在尝试使用加号将它们组合成单个日期时间,如下所示:

select CAST(CollectionDate as DATE) + CAST(CollectionTime as TIME)
from field

我查看了大约十个网站,包括这个网站上的答案(如this one),他们似乎都同意加号应该有效,但我收到错误:

Msg 8117,Level 16,State 1,Line 1
Operand data type date is invalid for add operator.

所有字段都是非零且非空.我也尝试过CONVERT函数并尝试将这些结果转换为varchars,同样的问题.这不会像我做的那么难.

有人可以告诉我为什么这不起作用?谢谢你的帮助.

解决方法

假设基础数据类型是日期/时间/日期时间等.
SELECT CONVERT(DATETIME,CONVERT(CHAR(8),CollectionDate,112) 
  + ' ' + CONVERT(CHAR(8),CollectionTime,108))
  FROM dbo.whatever;

如果它们不是,为什么不是,为了获得有意义的答案,您需要告诉我们它们是什么类型以及存储数据的格式.或者只是修复表格.

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

网友评论
推荐文章