- 论坛徽章:
- 0
|
有两套开发环境A、B,操作系统都是HP-UX,数据库为Informix Dynamic Server 2000。在环境A有一个.ec程序,有如下的sql语句:
EXEC SQL DECLARE TranBill_cur cursor for
select * from b2b_blotter
where acc_counter2 in ( select bran_code from com_branch
group by bran_code )
and valid_flag = 0
and disposal_mode = 0
and acct_date = :trans_date
order by acc_counter2, trans_date, voucher_no;
其中,valid_flag、disposal_mode字段类型都是char(1)。
在环境A中运行程序,没有问题。
将程序(包括源程序、Makefile、相关的库文件等)拷贝到环境B,编译运行时报错-1213(A character to numeric conversion process failed.),将sql语句修改为:
EXEC SQL DECLARE TranBill_cur cursor for
select * from b2b_blotter
where acc_counter2 in ( select bran_code from com_branch
group by bran_code )
and valid_flag = '0'
and disposal_mode = '0'
and acct_date = :trans_date
order by acc_counter2, trans_date, voucher_no;
编译后运行正常。
在.ec程序的sql语句中,char()类型字段作查询条件时,什么情况下必须要加引号,什么情况下又可以不加呢? |
|