小编Pet*_*son的帖子

SQL Server - 在搜索时是否有一种简单的方法可以忽略引号?

我有一个网站,我需要能够搜索数据,并让查询忽略所有引号.

  1. 搜索不要,不要不要检索具有以下词开头的行的结果:不要,不要不要
  2. 搜索"hello""hello"hello并检索包含单词的行的结果:"hello","hello"hello

注意:我已经删除了传入搜索字词的引号

我想知道是否有一个比以下更简单(或更简洁)的方法:

select Name 
  from tbl_MyTable
 where (Replace(Replace(Replace(Replace(Replace(Replace(Name,'“',''),'‘',''),'''',''),'"',''),'’',''),'”','') like 'dont%' 
    or Replace(Replace(Replace(Replace(Replace(Replace(Name,'“',''),'‘',''),'''',''),'"',''),'’',''),'”','') like '% dont%' );
Run Code Online (Sandbox Code Playgroud)

现在,我最好的想法是创建一个包含引用剥离版本的新列(前面加一个空格),这样我就可以:

select Name 
  from tbl_MyTable
 where FixedName like '% dont%';
Run Code Online (Sandbox Code Playgroud)

但我真的想知道是否可以在不创建新列的情况下实现这一目标并使其高效.

sql sql-server

6
推荐指数
1
解决办法
312
查看次数

标签 统计

sql ×1

sql-server ×1