当前位置: 代码迷 >> PB >> pb9中一个很奇怪的有关问题
  详细解决方案

pb9中一个很奇怪的有关问题

热度:146   发布时间:2016-04-29 09:25:33.0
pb9中一个很奇怪的问题
string aa
int ls_tmp
aa='2009-02-13'
select isdate(aa) into :ls_tmp from sys_company using sqlca;
if ls_tmp=1 then
messagebox('1','1') //45、抄表日期
else
messagebox('0','0')
end if

返回 0

select isdate('2009-02-13') into :ls_tmp from sys_company using sqlca;
if ls_tmp=1 then
messagebox('1','1') //45、抄表日期
else
messagebox('0','0')
end if
返回1

这个是为什么 sqlserver2005 +pb9

------解决方案--------------------
pb 不也有 isdate() 吗?干嘛要到SQL 里的isdate() ? 这样还要引起一次数据交互.
PB 的isdate() 返回的是 true/false, SQL 的isdate() 返回的是 1/0;

如果非要用SQL 的,试一下:

select isdate(:aa) into :ls_tmp from sys_company using sqlca;
  相关解决方案