我有一个使用名为 $EFFDT 的字段的 SQR 程序。它没有在程序中显式声明为日期变量。它目前所做的是最初设置为''(空白),如下所示:
LET $EFFDT = ' '
$EFFDT
然后通过从名为$INPUT
read 1 into $Input:80
LET $EFFDT = substr($INPUT,53,8)
然后它重新格式化日期以使其格式为 YYYY-MM-DD
do Format-DateTime($EFFDT,$EFFDT,{Prompt-Mask},'','native')
我想在后面的过程中将 $EFFDT 设置为 $EFFDT 值减去 1 天
我在后面的过程中尝试添加的是:
LET $EFFDT = DATEADD($EFFDT, 'day', -1)
当我尝试运行 SQR 时,我收到SQR 4045
错误(函数或运算符 'dateadd' 需要日期参数'
根据我的阅读,这意味着需要将 $EFFDT 变量声明为日期变量。所以我明确地将这个变量声明为一个日期,但是当程序运行这部分代码时它会出错:
LET $EFFDT = ' '
SQR 1944
- 日期 ' ' 不是 SQR_DB_DATE_FORMAT 指定的格式,也不是下面列出的可接受格式之一....
所以我不确定如何继续解决原始错误或上面的第二个错误。我最终需要使用 $EFFDT - 1(day) 作为 SQL 插入命令中的字段。任何帮助表示赞赏!