如何用dw_x.setsqlselect()来查询where条件为日期型的条件的变量
编号:QA002622
建立日期: 2000年2月26日 最后修改日期:2001年4月26日
所属类别:
倪建明:
操作系统:win98
编程工具:powerbuilder
问题:请问如何用dw_x.setsqlselect()来查询where条件为日期型的条件的变量?如 表中有date 类型的字段"xx",当前变量 str_date=2000-02-01。请问在如何写'where xx=str_date'才正确,包括对sqlanywhere及foxpro等数据库。万分感谢!盼复!
回答:
genesis的意见:
先在变量str_date的两边加上引号,然后用函数date()转换即可。date('2000-02-01')其中若用变量代替2000-02-01时两边的引号不能少。
string str1,str2
str2='2000-02-01'
str1= "xx=date('"+str2+"')"
在Sqlanywhere和foxpro中肯定没问题,但在其它数据库系统中要查看日期转换函数。
Frank的意见:
写成这样: WHERE xx = ~'2000-01-01~'。
dw_1.SetSqlSelect("... WHERE xx = ~'2000-01-01~' ")
zql的意见:
select * from test where convert(char(10),rq,111) = '2001/01/01'
用这个办法特别稳定!
此问题由genesis等回答。
| |
|
|
| |
|
|