powerbuilder语句执行

来源:百度知道 编辑:UC知道 时间:2024/06/01 04:22:13
update C_HY set F_DATE = today(),F_YXRQ = DATE('2011-5-31'),F_LJJE = 0 where F_YXRQ <= today();执行时提示如下提示(请问什么意思?怎样修改):

line:1
Function'today' not found.If this is a SQLJ funtion,use sp_help to check whether the object exists (sp_help may produce a large amount of output).
问题我自己解决了:
update C_HY set F_DATE = convert(datetime,'2009-5-31'),F_YXRQ = convert(datetime,'2011-5-31'),F_LJJE = 0 WHERE F_YXRQ <= convert(datetime,'2009-5-31');
就可以了,不知道为什么today()函数不能用,所以我就换成实际日期了。

提示意思是说没找到today这个函数,你可以试试先用一个变量保存today得到的值,然后再更新,还有就是要注意数据库字段的类型和变量类型一致

datetime r,q
r = datetime(today())

update C_HY set F_Date = :r,F_Yxrq = '2011-5-31' , F_Ljje = 0 WHERE F_Yxrq <= :r;

错误1:datetime定义变量不可以用分号结束,只有sql语句才用分号结束。
错误2:r既然是datetme类型,就必须将today()转换为datetime。
错误3:sql语句里面的变量前面必须带冒号。
错误4:update C_HY set F_Date = r,F_Yxrq = q set F_Ljje = 0 WHERE F_Yxrq <= r; where语句前面出现两个set。