sql查询以忽略特殊字符来呈现类似结果

piv4azn7  于 2021-06-25  发布在  Mysql
关注(0)|答案(2)|浏览(370)

有谁能给我推荐一个sql查询,它可以实现以下功能:特殊字符
., _ 以及 ' ' 应该列出相同的结果。
例子:
如果你搜索 123_456 ,系统还应该找到 123456 以及 123.456 以及 12_3456 以及 123456.7 以及 _123.456 .
如果你搜索 12345 ,系统还应该找到 123_456 .

az31mfrm

az31mfrm1#

使用替换并包含所有特殊字符。试试这个

SELECT * FROM tablename WHERE 
REPLACE(REPLACE(REPLACE(columname,'_',''),'.',''),',','')  LIKE '%123456%'
k0pti3hp

k0pti3hp2#

我将替换所有字符,将其转换为int并在filtercol上进行筛选。

WITH CTE AS 
(
  SELECT CAST (REPLACE (REPLACE (ColA, '-', ''), '.', '') AS INT) AS 
  FilterCol, ColA
  FROM TableA
)

SELECT * FROM CTE WHERE FilterCol >= 0

相关问题