【发布时间】:2011-12-16 14:57:42
【问题描述】:
我有这个 sql:
select * from employees
where
lastname like '%smith%' and firstname like '%bob%' and middle like '%%'
问题是名称的值,尤其是中间名,可以为空。所以上面的语句会发现:
smith, bob mike
但找不到
smith, bob
因为 Bob 的中间名是 null(他没有中间名。)
我有这个可行的方法,但我认为有更好的方法并想要输入:
select * from employees
where
lastname like '%smith%'
and firstname like '%bob%'
and (middle like '%%' or middle is null)
编辑:
middle 并不总是空白。有时它会有一个值,所以我必须保留中间名的测试。它可以填充或为空。
谢谢。如果这很重要,我正在使用 Oracle 11g。
【问题讨论】: