PB中update 语句更新sql2000数据库中datetime字段的求助。

pcwwa 2008-04-08 12:46:55
我在sql2000数据库中有一个表:renyuan
id (int型)
open_date(datetime型) 8位长度

id open_date
里面有数据例如:10001 2006.02.20
10002 2006.03.11
10003 2006.03.21
... ...
需求:想让所有表的日期都自动加上10天!

在PB中直接执行 update renyuan set open_date= open_date +10 ; 就能添加

如果我把它(天数10)放到一个变量ts中,
integer ts
ts=10
在PB中执行 update renyuan set open_date= (open_date + :ts);
这样就不好用了,请问应该如何更改语句或定义变量?
...全文
92 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
qiyousyc 2008-04-08
open_date = dateadd(d,:ts,open_date)
回复
青锋-SS 2008-04-08
//可以直接调用SQL的日期函数
update renyuan
set open_date = dateadd(d,:ts,open_date);
回复
pmwb 2008-04-08
二楼讲的不错,核心的内容已说了。
现补充点小提示。
string ls_sql

ls_sql = "update renyuan set open_date= open_date + " + string( ts )
EXECUTE IMMEDIATE :ls_sql using sqlca;

IF sqlca.sqlcode = 0 THEN
COMMIT ;
messagebox("成功提示","已增加"+string(ts) +"天!");
ELSE
rollback;
messagebox("出错提示","操作失败,原因为"+string(SQLCA.SQLErrText));
END IF
回复
zhgwbzhd 2008-04-08
推荐使用2楼回复的。
回复
SKY_4K_PPM 2008-04-08
RELATIVEDATE(OPEN_DATE,10)!

STRING LS_SQL
LS_SQL="UPDATE RENYUAN SET OPEN_DATE=RELATIVEDATE(OPEN_DATE,10)"
EXCUTE IMMDIATE:LS_SQL ;
回复
I_am_Z 2008-04-08
string ls_sql

ls_sql = "update renyuan set open_date= open_date + " + string( ts )
EXECUTE IMMEDIATE :ls_sql using sqlca;
回复
相关推荐
发帖
数据库相关
创建于2007-09-28

734

社区成员

PowerBuilder 数据库相关
申请成为版主
帖子事件
创建了帖子
2008-04-08 12:46
社区公告
暂无公告