DBASE命令行替换日期字段中的年份

时间:2014-10-23 21:01:37

标签: date replace foxpro dbase

我正在使用一个名为PastPerfect的软件程序,它有一个"命令窗口"它表示你可以使用dbase命令对程序的dbf文件进行全局更新。

问题:用户在一个跨越多个记录的日期字段中意外地输入了错误的年份" 1901"并且需要用年份" 2001"来替换/修复它。

我试过了:

  

2001年更换年(catdate)(catdate)= 1901

它一直告诉我这是Invalid Command

有人能给我正确的dbase / foxpro语法来取代1901年和2001年的所有年份吗?

1 个答案:

答案 0 :(得分:3)

REPLACE命令的语法是。

REPLACE FieldName WITH Value FOR BooleanExpression

如果CATDATE是日期字段(没有时间),那么

REPLACE catdate WITH DATE(2001, MONTH(catdate), DAY(catdate)) FOR YEAR(catdate) = 1901

如果CATDATE是日期时间字段,则

REPLACE catdate WITH DATETIME(2001, MONTH(catdate), DAY(catdate), HOUR(catdate), MINUTE(catdate), SEC(catdate)) FOR YEAR(catdate) = 1901