有人可以建议我一个可以实现以下目标的SQL查询:
特殊字符.,
_
和' '
应列出相同的结果。
示例:
如果您搜索123_456
,系统还应该找到123456
和123.456
以及12_3456
和123456.7
以及_123.456
。
如果您搜索12345
,系统也应找到123_456
。
答案 0 :(得分:1)
使用REPLACE并包含所有特殊字符。试试这个
SELECT * FROM tablename WHERE
REPLACE(REPLACE(REPLACE(columname,'_',''),'.',''),',','') LIKE '%123456%'
答案 1 :(得分:0)
我会替换所有字符,将其转换为INT并过滤FilterCol。
WITH CTE AS
(
SELECT CAST (REPLACE (REPLACE (ColA, '-', ''), '.', '') AS INT) AS
FilterCol, ColA
FROM TableA
)
SELECT * FROM CTE WHERE FilterCol >= 0