首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

对SQL语句中的WHERE子句中遇到NULL值的参数绑定有关问题

2012-01-13 
对SQL语句中的WHERE子句中遇到NULL值的参数绑定问题现在我有一个SQL语句SELECTNAMEFROMTABLEWHERECOUNTRY

对SQL语句中的WHERE子句中遇到NULL值的参数绑定问题
现在我有一个SQL语句
SELECT   NAME   FROM   TABLE   WHERE   COUNTRY=:mcountry
其中mcountry为绑定的变量
在给mcountry赋值的时候,当mcountry为空则赋mcountry=DBNull.Value

这样SQL语句实际上就变成了:
SELECT   NAME   FROM   TABLE   WHERE   COUNTRY   =   NULL
这样是查不出来数据的。正确的应该是
SELECT   NAME   FROM   TABLE   WHERE   COUNTRY   IS   NULL

但是我又不能将SQL语句改为
SELECT   NAME   FROM   TABLE   WHERE   COUNTRY   IS   :mcountry
如果这样的话,那些mcountry值不为空的情况就不行了。

请问这个问题怎么解决啊?


[解决办法]
写个判断

if isnull(mcountry)=true then
SELECT NAME FROM TABLE WHERE COUNTRY is null
else
SELECT NAME FROM TABLE WHERE COUNTRY = ' " & mcountry & " '

end if

[解决办法]
写个带参数的存储过程,
或者把COUNTRY Is Null设定为= " "。
[解决办法]
要改先期生成的sql了
[解决办法]
SELECT NAME FROM TABLE WHERE COALESCE(COUNTRY, ' ') IS :mcountry
[解决办法]
加函数判断即可

热点排行