加入收藏 | 设为首页 | 会员中心 | 我要投稿 东莞站长网 (https://www.0769zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2021-01-24 23:55:02 所属栏目: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;

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

(编辑:东莞站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读