Oracle写完delete等语句后,一定要记得commit一下,否则,数据可能会不改变。
delete from 表名 where 条件
例:JYSJ是时间,JYCLBZ 的类型是char ;2010-7-20 15:34:23是字符串,要完成to_date的数据转换才能比较!
delete FROM OBUPREWATERTAB where JYSJ<=to_date('2010-7-20 15:34:23','yyyy-mm-dd hh24:mi:ss')-1 and JYCLBZ='1'
strcat 表示,后面的字符串加到前面,而strcpy则表示,后来的字符串会覆盖前面的字符串。
在程序中,想要完成这样一条语句:
delete FROM OBUPREWATERTAB where JYSJ<=to_date('oracletime','yyyy-mm-dd hh24:mi:ss')-1 and JYCLBZ='1'
有时要这样写,有些类似于JSP转成Servlet
char del[500]="delete FROM OBUPREWATERTAB where JYSJ<=to_date('";
strcat(del,oracletime);
strcat(del,"','yyyy-mm-dd hh24:mi:ss')-1 and JYCLBZ='1'");
得到Oracle系统时间用:select sysdate from dual
得到毫秒级时间用:select current_timestamp from dual;
C++中比较两个字符串是否相等:stricmp(catchpre.sbcph1,catchpre.sbcph2)==0 [相等是stricmp的值为0]
下面的函数是用来轮循的:
往数据库里插入日期:
insert into tablename (datetime) values (to_date('2001-12-05','YYYY-MM- DD'));
数据库是默认的日期格式:把自己要输入的格式2008-09-29转换成默认的日期格式to_date
例:
insert into tbl_OBUPRETREATMENTDEALWASTE (JYCLBZ,JYSJ,CPH, CPYS)values('1',to_date('2010-7-18 13:40:23','yyyy-mm-dd hh24:mi:ss'),'Q23456','2');
insert into tbl_ZPYSJYYCLLSB(JYCLBZ,PSSJ1,SBCPH1 , SBCPYS1,PSSJ2 ,SBCPH2 , SBCPYS2)values('0',to_date('2010-7-18 13:40:23','yyyy-mm-dd hh24:mi:ss'),'Q23456','2',to_date('2010-7-18 13:40:23','yyyy-mm-dd hh24:mi:ss'),'Q23456','2')
如果多行insert into一起插入,第一个加分号";",第二个就不要加了