带有特殊字符的 Sql 查询 - 如何处理? [英] Sql query with special characters - how to handle?

查看:23
本文介绍了带有特殊字符的 Sql 查询 - 如何处理?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我很少有像

这样的 emp 名字<块引用>

  1. 约翰,1
  2. 恶魔的
  3. 玉米

像这样

现在当我搜索这些名字时,我正在使用

select * from emp where empname like ('john,1,devil's,corn')

但我没有得到预期值,我也收到错误,因为 emp 名称包含特殊字符,如 , 和 '.

有人能帮我解决这个问题吗?

解决方案

这里假设您的示例字符串中有 3 个离散名称

完全匹配.你需要加倍引号.

select * from emp whereempname IN ('john,1', 'devil''s', 'corn')

您也不能在 SQL Server 中 LIKE/IN.

select * from emp whereempname 像 '%john,1%'或者empname 像 '%devil''s%'或者empname 像 '%corn%'

I've few emp names like

  1. john,1
  2. devil's
  3. corn

something like this

Now when i'm searching for these names I'm using

select * from emp where empname like ('john,1,devil's,corn')

But I'm not getting expected values also I'm getting error because emp name contains special charecters like , and '.

Can someone help me out how to solve this?

解决方案

This assumes you have 3 discrete names in your example string

Exact match. you need to double up quotes.

select * from emp where
empname IN ('john,1' , 'devil''s', 'corn')

You can't LIKE/IN in SQL Server too.

select * from emp where
  empname like '%john,1%'
  OR
  empname like '%devil''s%'
  OR
  empname like '%corn%'

这篇关于带有特殊字符的 Sql 查询 - 如何处理?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆