日期格式,SQL 服务器
Date Formatting, SQL Server
我的最终公式有问题:
ALTER TABLE tempTestProject
ADD [T12 Backdated jnls] varchar(50)
update tempTestProject
set [T12 Backdated jnls] = 'X' where cast([Created Date] as date) > cast([Effective Date] as date)
我收到错误:
Conversion failed when converting date and/or time from character
string.
现在,在我完成上述操作之前,我不得不重新安排我的日期,因为我在处理之前的日期时遇到了问题。我执行了以下操作以将我的日期设置为所需的格式:(请记住我的日期是 varchar (50) 并且最初采用 18/01/2014 格式)
ALTER TABLE tempTestProject
ADD [Created Date] varchar(50)
update tempTestProject
set [Created Date] = (RIGHT(["Created Date"],4) + '/' + SUBSTRING(["Created Date"],4,2) + '/'+ LEFT(["Created Date"],2))
ALTER TABLE tempTestProject
ADD [Effective Date] varchar(50)
update tempTestProject
set [Effective Date] = (RIGHT(["Effective Date"],4) + '/' + SUBSTRING(["Effective Date"],4,2) + '/'+ LEFT(["Effective Date"],2))
希望我已经解释清楚了,感谢您的帮助!
如果您无法实施评论中的所有好建议,您可以使用 ISDATE
来测试是否可以将字符串转换为日期来解决此问题。
编辑:
刚刚注意到您是如何存储日期的。在使用 is date 之前,执行这一行:
SET DATEFORMAT DMY;
select
case when ISDATE([CREATED DATE]) = 1
then cast([CREATED DATE] as date)
else null
end as <Your date name here>
我的最终公式有问题:
ALTER TABLE tempTestProject
ADD [T12 Backdated jnls] varchar(50)
update tempTestProject
set [T12 Backdated jnls] = 'X' where cast([Created Date] as date) > cast([Effective Date] as date)
我收到错误:
Conversion failed when converting date and/or time from character string.
现在,在我完成上述操作之前,我不得不重新安排我的日期,因为我在处理之前的日期时遇到了问题。我执行了以下操作以将我的日期设置为所需的格式:(请记住我的日期是 varchar (50) 并且最初采用 18/01/2014 格式)
ALTER TABLE tempTestProject
ADD [Created Date] varchar(50)
update tempTestProject
set [Created Date] = (RIGHT(["Created Date"],4) + '/' + SUBSTRING(["Created Date"],4,2) + '/'+ LEFT(["Created Date"],2))
ALTER TABLE tempTestProject
ADD [Effective Date] varchar(50)
update tempTestProject
set [Effective Date] = (RIGHT(["Effective Date"],4) + '/' + SUBSTRING(["Effective Date"],4,2) + '/'+ LEFT(["Effective Date"],2))
希望我已经解释清楚了,感谢您的帮助!
如果您无法实施评论中的所有好建议,您可以使用 ISDATE
来测试是否可以将字符串转换为日期来解决此问题。
编辑:
刚刚注意到您是如何存储日期的。在使用 is date 之前,执行这一行:
SET DATEFORMAT DMY;
select
case when ISDATE([CREATED DATE]) = 1
then cast([CREATED DATE] as date)
else null
end as <Your date name here>