sql转译

如果想查找“_cs”结尾的的账户

select * from [user] where loginname like '%cs’是不行的, 被认为是任意的字符,

所以需要转义字符,有两种写法:

select * from [user] where loginname like ‘%[_]cs’
select * from [user] where loginname like ‘%/_cs’ escape’/’

在这里插入图片描述

例如:

· LIKE ‘Mc%’ 将搜索以字母 Mc 开头的所有字符串(如 McBadden)。

· LIKE ‘%inger’ 将搜索以字母 inger 结尾的所有字符串(如 Ringer、Stringer)。

· LIKE ‘%en%’ 将搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)。

· LIKE ‘_heryl’ 将搜索以字母 heryl 结尾的所有六个字母的名称(如 Cheryl、Sheryl)。

· LIKE ‘[CK]ars[eo]n’ 将搜索下列字符串:Carsen、Karsen、Carson 和 Karson(如 Carson)。

· LIKE ‘[M-Z]inger’ 将搜索以字符串 inger 结尾、以从 M 到 Z 的任何单个字母开头的所有名称(如 Ringer)。

· LIKE ‘M[^c]%’ 将搜索以字母 M 开头,并且第二个字母不是 c 的所有名称(如 MacFeather)。

使用 ESCAPE 关键字定义转义符。在模式中,当转义符置于通配符之前时,该通配符就解释为普通字符。例如,要搜索在任意位置包含字符串 5% 的字符串,请使用:

WHERE ColumnA LIKE ‘%5/%%’ ESCAPE ‘/’

在这里插入图片描述

在like谓词查询中,会使用到两个通配符:"%“和”"、,其中"%“表示零个或任意多个字符,”“表示任意一个字符,但如果查询的条件表达式中出现了”%“和”_",就需要对其进行转义。

    另外,还有一个特殊的字符"'",若出现在查询表达式中,也需要进行转义,其转义方式和以上两个字符的转义方式有些差别。下面以示例简单说明:

    1、对"%"的转义

    select * from student where description like '%!%%' escape '!'

    本sql解释为取出表student中所有字段description中含有"%"的记录。

    2、对"_"的转义

    select * from students where description like '%!_%' escape '!'

    本sql解释为取出表student中所有字段description中含有"_"的记录。

    3、对"'"的转义

    select * from students where description like '%''%''

    本sql解释为取出表student中所有字段description中含有"'"的记录。

比较以上3条sql,不难看出,对于"%“和”_"需要指定一个转义字符,用关键字escape说明。例子中使用了’!’,但你可以使用其它字符,比如字母a-z(大小写任意),或者数字0-9和其它字符等
————————————————
版权声明:本文为CSDN博主「fjritcast」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/fjritcast/article/details/84172644

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值