【问题标题】:Select Fields Contain a Percentage Sign (%) in SQL [duplicate]在 SQL 中选择包含百分号 (%) 的字段 [重复]
【发布时间】:2015-03-26 02:14:35
【问题描述】:

我需要一个 SELECT 语句,它将返回给定字段包含百分号 (%) 的所有行。

我尝试了以下方法,但它只是提取了所有记录:

select * from MyTable where MyColumn LIKE '%%%'

【问题讨论】:

    标签: sql-server


    【解决方案1】:

    使用[]括号符号转义

    select * from MyTable where MyColumn LIKE '%[%]%'
    

    或使用 ESCAPE 关键字

     select * from MyTable where MyColumn LIKE '%\%%' ESCAPE '\'
    

    【讨论】:

    • 如果其他人需要,' 可以通过在其前面再添加一个来转义。例如,''
    【解决方案2】:

    您可以使用此搜索任何特殊字符

    SELECT * FROM mytable WHERE email LIKE '%[^0-9a-zA-Z @\.\-]%'
    

    【讨论】:

      【解决方案3】:

      有两种方法可以避开这些通配符。

      1. 您可以像这样使用默认的方括号“[]”-[%] 或 [_]

      2. 您可以通过在 where 子句末尾使用关键字 ESCAPE 来定义自己的转义字符。

      例如。 select * from name_column where name like ‘gyan_sagar’ ESCAPE ‘\’

      在上面的示例中,我们通过使用 ESCAPE 关键字将“\”定义为转义字符来转义“_”。

      注意:转义只能定义一个字符,不能定义字符串。

      【讨论】:

        猜你喜欢
        • 2016-09-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多