Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server中的强制转换日期和时间_Sql_Sql Server - Fatal编程技术网

SQL Server中的强制转换日期和时间

SQL Server中的强制转换日期和时间,sql,sql-server,Sql,Sql Server,在我的数据表中,我有一个日期列格式=yyyy/mm/dd和一个时间列格式hh:mm:ss。我正在尝试将这两个元素结合起来,以便在日历中使用它。我总是出错。这是我的简历: CAST(T0.[Date])作为日期)+CAST(T0.[Time])作为时间(7)) 我哪里出错了?试试这个 CAST(T0.[Date] AS SmallDateTime) + CAST(T0.[Time] AS Time) 试试这个 CAST(T0.[Date] AS SmallDateTime) + CAST(T0.

在我的数据表中,我有一个日期列格式=
yyyy/mm/dd
和一个时间列格式
hh:mm:ss
。我正在尝试将这两个元素结合起来,以便在日历中使用它。我总是出错。这是我的简历:
CAST(T0.[Date])作为日期)+CAST(T0.[Time])作为时间(7))

我哪里出错了?

试试这个

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

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

可能是[日期]和[时间]附近的括号

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))

可能是[日期]和[时间]附近的括号

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))

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

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

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

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

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

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

我刚刚意识到时间表格式不是hh:mm:ss,但值看起来像这样:8:43、13:16等等。这可能是问题吗?我刚刚意识到时间表格式不是hh:mm:ss,但值看起来像这样:8:43,13:16等等。这是问题吗?