我的最终公式有问题:
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)
我收到错误:
从字符转换日期和/或时间时转换失败 字符串。
在我能够达到上述目标之前,我不得不重新安排我的日期,因为我在处理之前的日期时遇到了问题。我做了以下操作,以便将我的日期转换为所需的格式:(请记住我的日期是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))
希望我能够解释这一点,感谢您的帮助!
答案 0 :(得分:0)
如果您无法在评论中实现所有好的建议,可以使用library(reshape2); dcast(myTable, Row ~ Col, value.var = "Value", drop = FALSE)
来测试是否可以将字符串转换为日期。
编辑:
刚刚注意到你如何存储日期。在使用日期之前,请执行以下行:
ISDATE