因为TC014是文本格式的日期,例如'20010101'
我通过下面的SQL 语句进行转换
SELECT cast(TC014 as datetime) FROM MOCTC
格式变成了'2001-01-01 00:00:00:000' ,然后我用下面的SQL 语句求两个时间相隔的时间,
SELECT DATEDIFF(day,cast(TC014 as datetime),GETDATE())
结果提示,消息 207,级别 16,状态 3,第 1 行
列名 'TC014' 无效。,真不明白,我已经转换了,还报错
你现在select .... from [表],表在哪呢? 表都没有,tc014列哪里不报错
declare @itemDate datetime
SELECT @itemDate=cast(TC014 as datetime) FROM MOCTC where...
SELECT DATEDIFF(day,@itemDate,GETDATE())
谢谢,我居然这样子的错误也犯.
--因为TC014是文本格式的日期,例如'20010101'
--我通过下面的SQL 语句进行转换
Create table MOCTC
(
TC014 varchar(50)
)
insert into MOCTC select '20010101'
--定义变量保存TC014
declare @TcTime datetime
SELECT @TcTime=cast(TC014 as datetime) FROM MOCTC
--格式变成了'2001-01-01 00:00:00:000' ,然后我用下面的SQL 语句求两个时间相隔的时间,
SELECT DATEDIFF(day,cast(@TcTime as datetime),GETDATE())
--结果提示,
--4067
谢谢,对的.
--可以这样
SELECT DATEDIFF(Day,(SELECT CAST(TC014 AS DATETIME) AS TC014),GETDATE())
FROM MOCTC