【发布时间】:2013-11-29 23:04:33
【问题描述】:
拿一张样品表:
WITH t(val) AS
( SELECT 'my Name' FROM dual
UNION
SELECT 'my name' FROM dual
UNION
SELECT 'my naim' FROM dual
UNION
SELECT 'MY kat' FROM dual
UNION
select 'my katt' from dual
)
SELECT * FROM t;
我需要一个偏好的输出:
查询应该首先在表中搜索完全匹配,
如果没有找到则搜索lowering the case,如果没有找到则只搜索soundex,。所以最终输出类似于:
WHERE val = 'my Name'
OR lower(val) = lower('my Name')
OR soundex(lower(val)) = soundex(lower('my Name'))
应该是:
output
-----
my Name
提前致谢。
【问题讨论】: