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 

  • 相关阅读:
    进度条
    html5 表单新增事件
    html5 表单的新增type属性
    html5 表单的新增元素
    html5 语义化标签
    jq 手风琴案例
    codeforces 702D D. Road to Post Office(数学)
    codeforces 702C C. Cellular Network(水题)
    codeforces 702B B. Powers of Two(水题)
    codeforces 702A A. Maximum Increase(水题)
  • 原文地址:https://www.cnblogs.com/chenyingying0/p/12978826.html
Copyright © 2011-2022 走看看