SQL Server中的CAST日期和时间

时间:2014-02-21 12:24:16

标签: sql sql-server

在我的数据表中,我有一个日期列格式= yyyy/mm/dd和一个时间列格式hh:mm:ss。我试图连接这两个,所以我可以在日历中使用它。我一直在收到错误。这是我的qry: CAST(T0.[Date]) AS Date) + CAST(T0.[Time]) AS Time(7))

我哪里错了?

3 个答案:

答案 0 :(得分:2)

试试这个

CAST(T0.[Date] AS SmallDateTime) + CAST(T0.[Time] AS Time)

答案 1 :(得分:2)

可能是[日期]和[时间]

附近的括号
CAST(T0.[Date]) AS Date) + CAST(T0.[Time]) AS Time(7))

更改为:

CAST(T0.[Date] AS Date) + CAST(T0.[Time] AS Time(7))

<强>更新: 数据类型datetime和time在add运算符中不兼容。

select cast(CAST(T0.[Date] AS date)as nvarchar(8)) + cast(CAST(T0.[Time] AS time(7)) as nvarchar(8))

答案 2 :(得分:2)

转换错误可能是格式错误。明确使用convert格式:

select convert(datetime, t0.[DATE], 111) + CAST(T0.[Time]) AS Time)

有些字符串可能与您认为的格式不匹配。