在我的数据库表中,我有一个名为item_name
的列。一些值如下所示:
**Item_Name**
What's UP
Yahoo!!...
Alpha!@3568Numberic`;'"
基本上我试图传达这些值中包含非字母数字字符。
我希望我的sql语句返回与行匹配的值,而不考虑非aplhanumeric字符。
例如:
select *
from mutable
where item_name = 'whats up' or 'alpha3568numeric'
此SQL语句应返回2行:
What's UP
Alpha!@3568Numberic`;'"
答案 0 :(得分:0)
使用函数删除列中的所有非字母数字字符并返回输出字符串,如下所示:T-SQL strip all non-alpha and non-numeric characters [您还必须将其更改为包含0-9]
然后在你的where子句中使用类似的东西:
where lower(RemoveNonAlphaCharacters(item_name))like '%whats up%' or
lower(RemoveNonAlphaCharacters(item_name))like '%alpha3568numeric%'
答案 1 :(得分:0)
试试这个:
select *
from mutable
where SOUNDEX(item_name) = SOUNDEX('whats up') or
SOUNDEX(item_name) = SOUNDEX('alpha3568numeric')