【发布时间】:2014-04-24 22:29:18
【问题描述】:
我有以下疑问:
TimeStamp 列中的值为201403240004,因此以下函数将其转换为以下格式:2014-03-24 00:04:00.000
SELECT CONVERT(DATETIME,
SUBSTRING([TimeStamp],1,4)+'-'+SUBSTRING([TimeStamp],5,2)+'-'
+SUBSTRING([TimeStamp],7,2)+' '+SUBSTRING([TimeStamp],9,2)+':'
+SUBSTRING([TimeStamp],11,2)+':00.000') AS MessageDate
FROM Table
WHERE MessageDate = '2014-03-24 00:04:00.000'
当我尝试在 WHERE 子句中使用 MessageDate 时,为什么我在 sqlserver 中出现无效列名错误?如何在 WHERE 子句中使用转换后的 MessageDate?
【问题讨论】:
-
是 MySQL 还是 SQL Server?
-
语法匹配 SQL Server。
-
SQL Server 2008。我正在使用 SQL Server Management Studio 运行查询。
-
@EricHauenstein 我知道,查询听起来是familiar to me,但这里的命名相当模糊。
标签: sql-server