我想使用datediff函数获取以varchar格式表示的两个日期时间值之间的时间差(以秒为单位)。以下是我的查询,这给了我错误。
DATEDIFF(second, CONVERT(Datetime, data_deviceTransactions_createdTime, 120), CONVERT(Datetime, data_deviceTransactions_updatedTime, 120))
data_deviceTransactions_createdTime和data_deviceTransactions_updatedTime是varchar值,
答案 0 :(得分:3)
尝试一下:
CONVERT(DATETIME, SUBSTRING('Thu, 20 Sep 2018 05:54:30 GMT', 5, LEN('Thu, 20 Sep 2018 05:54:30 GMT') - 8), 113)
这应该返回 2018-09-20 05:54:30.000
SELECT
DATEDIFF(second, CONVERT(DATETIME, SUBSTRING(data_deviceTransactions_createdTime, 5, LEN(data_deviceTransactions_createdTime) - 8), 113), CONVERT(DATETIME, SUBSTRING(data_deviceTransactions_updatedTime, 5, LEN(data_deviceTransactions_updatedTime) - 8), 113))