【发布时间】:2021-11-28 09:47:10
【问题描述】:
我尝试将我的数据库中存储为HH:MM:SS 的varchar 变量转换为实际的datetime 格式HH:MM:SS。我确实得到了 HH:MM:SS 的值,但尝试还加上了 YYYY:MM:DD 的前缀以及预期的结果。
以下是我用来将此 varchar 值转换为 HH:MM:SS 的代码以及我得到的结果。
我试过的代码:
DECLARE @Duration Varchar(10)
SET @Duration = '00:01:23'
SELECT CONVERT(datetime, Duration, 8) AS duration
我得到的输出:
1900-01-01 00:01:23.000
预期输出:
00:01:23
请让我知道需要更改的内容。谢谢!
【问题讨论】:
-
预期是错误的。这不是一个日期时间,它只是一个时间。持续时间不是日期。这些也不是前缀 -
datetime、date、time等是 binary 类型,而不是字符串 -
看来你想要的是时间数据类型而不是日期时间数据类型
标签: sql-server datetime