zoukankan      html  css  js  c++  java
  • sql server特殊字符查询问题及ESCAPE的使用

    公司一个老项目,sql server的

    模糊查询时,查询条件包含 [] ,然后查询结果就一直为空

    查阅资料得知:如果 LIKE 模式中的转义符后面没有字符,则该模式无效并且 LIKE 返回 FALSE。如果转义符后面的字符不是通配符,则将放弃转义符并将该转义符后面的字符作为该模式中的常规字符处理。这包括百分号 (%)、下划线 (_) 和左括号 ([) 通配符(如果它们包含在双括号 ([ ]) 中)。

    下面讲下sql脚本检索中,检索特殊字符的方法

    使用escape转义关键字的用法

    CREATE TABLE test (info VARCHAR(50))
    GO
    INSERT INTO test
    VALUES ('[web.]maomao365.com'),
    ('web.maomao365.com')
    GO
    
    select * from test where info like '%[web.]%'
    ---输出2行数据,like条件中[]被界定为包含
    
    SELECT * FROM test 
    WHERE info LIKE  '%[address.]%' 
    ---采用斜杠类似转义,但是转义失败,返回空数据行
    go
    SELECT * FROM test
    WHERE info LIKE '%$[web.]%' ESCAPE '$'
    
    
    SELECT * FROM test
    WHERE info LIKE '%@[web.]%' ESCAPE '@'
    ---采用escape 定义 @ $为以上sql脚本的转义字符
    
    go
    
    drop table test 

  • 相关阅读:
    axios封装
    python 分析列表中的字典
    python 列表解析学习
    Java常用ORM框架
    Kafka 会不会丢消息?怎么处理的?
    Node.js学习笔记【八】
    Node.js学习笔记【七】
    Node.js学习笔记【六】
    Node.js学习笔记【五】
    Node.js学习笔记【四】
  • 原文地址:https://www.cnblogs.com/chenyingying0/p/12978826.html
Copyright © 2011-2022 走看看