老兄,这个语句是否可以这样写: select sum(bb.quantity) from ordr_dtl.dbf bb,ordr_mst.dbf t where (t.ordr_date between :nn1 and :nn2) and t.ordr_no=bb.ordr_no and t.quantity=0.0
你的第一个问题我是这样想的。 var m:integer; s:string; .... m:=strtoint('000236'); inc(m); ... s:=inttostr(m); ...
你的第一个问题我是这样想的。 var m:integer; s:string; .... m:=strtoint('000236'); inc(m); ... s:=inttostr(m);第二个问题,检查你的数据表设计是是否有主字段的限制 ...
OK 1、假定你用ORACLE数据库?什么,你不知道ORACLE~~~ 2、不管你要做什么,我只管你要的字段加一。(既要加一,为啥不用NUMBER) 3、假定表 ABC,列 XYZ 4、SQL 如下 SELECT TO_CHAR(TO_NUNBER(XYZ) + 1) FROM ABC WHERE 条件; 5、说明:TO_CHAR,TO_NUMBER 是ORACLE 的函数。其他数据库我没用过。
SELECT TO_CHAR((TO_NUMBER('XYZ') + 1),'099999') FROM ABC;
1、无这种函数,可以自己写一个,象title说的那样也是一个好的办法。 2、语法错误,看看这样写如何: select sum(bb.quantity),ordr_no,ordr_date from ordr_dtl.dbf bb,ordr_mst.dbf t where (t.ordr_date between :nn1 and :nn2) and t.ordr_no=bb.ordr_no and quantity=0.0;
ORACLE 下,执行 SELECT TO_CHAR((TO_NUMBER('000123') + 1),'099999') from dual; 得到 '000124',你试一下就知道.
select sum(bb.quantity) from ordr_dtl.dbf bb,ordr_mst.dbf t
where (t.ordr_date between :nn1 and :nn2) and t.ordr_no=bb.ordr_no
and t.quantity=0.0
var m:integer;
s:string;
....
m:=strtoint('000236');
inc(m);
...
s:=inttostr(m);
...
var m:integer;
s:string;
....
m:=strtoint('000236');
inc(m);
...
s:=inttostr(m);第二个问题,检查你的数据表设计是是否有主字段的限制
...
1、假定你用ORACLE数据库?什么,你不知道ORACLE~~~
2、不管你要做什么,我只管你要的字段加一。(既要加一,为啥不用NUMBER)
3、假定表 ABC,列 XYZ
4、SQL 如下
SELECT TO_CHAR(TO_NUNBER(XYZ) + 1) FROM ABC WHERE 条件;
5、说明:TO_CHAR,TO_NUMBER 是ORACLE 的函数。其他数据库我没用过。
2、语法错误,看看这样写如何:
select sum(bb.quantity),ordr_no,ordr_date from ordr_dtl.dbf bb,ordr_mst.dbf t
where (t.ordr_date between :nn1 and :nn2) and t.ordr_no=bb.ordr_no and quantity=0.0;
SELECT TO_CHAR((TO_NUMBER('000123') + 1),'099999') from dual;
得到 '000124',你试一下就知道.