大佬们,请教个SQL问题,字符串里带双引号,怎么查出这个字符串呢

数据库:SQLserver

问题:T表有个字段C的值是“value ”(包括英文双引号)

请问查询语句where条件里怎么写才能把等于这个值的行给查出来呢

(不使用like的情况)

感谢

AoLiQi 发布于 2022-4-19 12:34
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
CD20160914Lv8专家互助
发布于2022-4-19 12:38

select 

t.*

from(

SELECT '"中国人民"' as c 

union all

SELECT '"这是测试"' as c

) t

where 1=1

and t.c='"中国人民"'

image.png

  • AoLiQi AoLiQi(提问者) 试过了,但是还是不行,不知道是不是字符问题 但是用like \'%\"%\'是匹配的到的,再对like匹配查出来的结果进行replace替换都可以替换得到的,就是直接查不能查到
    2022-04-19 12:42 
  • CD20160914 CD20160914 回复 AoLiQi(提问者) 你看我的数据都可以查询出来
    2022-04-19 12:46 
  • CD20160914 CD20160914 回复 AoLiQi(提问者) 你的不止有双引号吧,还有空格?你看一下呢
    2022-04-19 12:47 
  • CD20160914 CD20160914 回复 AoLiQi(提问者) 复制我上面的语句查询,你看它会不会有问题。。。
    2022-04-19 12:47 
  • AoLiQi AoLiQi(提问者) 回复 CD20160914 有空格的,但是我加了空格的,请问有影响么 复制你的语句查的结果和你相同的
    2022-04-19 13:33 
最佳回答
0
@Lv6资深互助
发布于2022-4-19 12:38(编辑于 2022-4-19 12:44)

值为"value" 那就where 列 = '"value"' 不行吗?

  • AoLiQi AoLiQi(提问者) 报语法错误了
    2022-04-19 12:39 
  • @ @ 回复 AoLiQi(提问者) 忘了 应该是单引号
    2022-04-19 12:45 
  • AoLiQi AoLiQi(提问者) 回复 @ 大佬你的写法是可以的,问题出在字符串里的是回车符哈,谢谢大佬回复
    2022-04-19 13:55 
最佳回答
0
Z4u3z1Lv6专家互助
发布于2022-4-19 12:46

WITH T AS (

SELECT '"value"' c

)

select * from t where c='"value"'

image.png

  • AoLiQi AoLiQi(提问者) 大佬你的写法是可以的,问题出在字符串里的是回车符哈,谢谢大佬回复
    2022-04-19 13:55 
  • 3关注人数
  • 431浏览人数
  • 最后回答于:2022-4-19 12:46
    请选择关闭问题的原因
    确定 取消
    返回顶部