我在Advantage数据库中有很多损坏的日期,但幸运的是我有一个完整的反向日期字段。
我需要使用SQL在“DD / MM / YYYY'”表格中重新创建日期字段。来自RDate字符串' YYYYMMDD'。
等同于:
UPDATE table SET Date = FormatDate('DD/MM/YY',StrToDate('YYYYMMDD',RDate))
我不知道是否可以选择字符位置并在SQL中以这种方式使用变量,或者我是否必须编写程序(在Delphi中)来执行操作。
由于
答案 0 :(得分:3)
尝试类似
的内容update table set
date = cast(substring(rdate, 5, 2) + '/' +
right(rdate, 2) + '/' +
left(rdate, 4) as date)
/* where ... */
(假设您的连接的日期格式设置为默认'MM/DD/YYYY'
)
答案 1 :(得分:0)
TOndrej我不确定这是语法错误还是无法识别强制转换,但我使用以下SQL实现了所需的结果:
update members set "Expiry Date" = ((substring(RExpiryDate,7,2)) + '/' + (substring(RExpiryDate,5,2)) + '/' + (substring(RExpiryDate,1,4)))
感谢您的帮助