我的库会把空字串视为null
,即'' is null
为真,这是前提。
现在假设用户表就name
和password
两列,后者允许为空,验证用户登录时这样写显然不行:
select * from user where name=:name and password=:pwd
因为当password
和:pwd
都为null
时,=
也不会成立,请问应该怎样写?
请不要建议nvl(password,'x') = nvl(:pwd,'x')
这种写法,对于密码验证来说,这是一种有问题的办法。