我的这句SQL语句那里错了?请各位指教!
我是菜鸟一个,近日给公司做数据库程序,两层的,前端程序用的是PowerBuilder7,后台数据库用的是Orale8.05,我遇到麻烦了:
t_zs_kqls(考勤流水正式表)是一张表,qdsj(签到时间)是该表的一个字段,类型是DateTime类型(即日期时间类型).sm_Begin和sm_End是前台Powerbuilder程序中的渐增单行编辑框控件,里面显示的也是DateTime类型的数据.现在我想将表t_zs_kqls中字段qdsj在某一日期时间阶段的记录删除,用SQL语句写,我是这么写的:
DateTime ldt_bt , ldt_et
...................
ldt_bt = DateTime(Trim(sm_Begin.text))
ldt_et = DateTime(Trim(sm_End.text))
...................
delete from t_zs_kqls where qdsj between :ldt_bt and :ldt_et
...................
其中日期时间满足 ldt_bt < ldt_et 但是在运行时候发现问题,不能正常删除表中满足条件的记录.(编译通过,但是运行和预期的不一样).我分析是
delete from t_zs_kqls where qdsj between :ldt_bt and :ldt_et
这句SQL语句的 where条件写错了,后来我把它换成了
delete from t_zs_kqls where qdsj >= :ldt_bt and qdsj <= :ldt_et
运行时一样出错,不能删除满足条件的记录.
到底应该怎么写,我不知道,我那主管也不知道,如果实在不行,我只有调用数据窗口相应的一系列方法了,应该能够解决,但是编程起来挺麻烦的.
各位大虾,这个SQL语句到底应该怎么写,请知道的网友赐教,十分感谢!!!