zoukankan      html  css  js  c++  java
  • SQL的like操作符

    在where子句中,like操作符我们经常会用到,比如,当我们只知道一个人的名字,却不知道他的姓,去查询的他的相关信息时,就需要用到like操作符。

    在like操作符,常用到的通配符是"%",在搜索串中,%表示任何字符出现的任意次数

    以部门表为例

    查询部门名称中以"es"结尾的部门编号,和部门名称。那么sql就是:

    select * from departments where dept_name like '%es';

    那么查询结果为:

    如果查询部门名称中含有"es"字符的部门编号,和部门名称。那么sql就是

    select * from departments where dept_name like '%es%';

    查询结果为

    以上两个例子区别在于,一个是以"es"结尾,那么,因为"%"匹配任意数量字符,所以在"es"前面添加上"%"即可。另一个是包含"es"就要考虑到"es"出现的位置可能在最前面,中间,和末尾,三种情况,所以在"es"前面和后面都需要添加上"%"。

    另一个通配符就是下划线"_",下划线"_"的用途和"%"一样,但是下划线"_"只能匹配单个字符而不是多个字符

    比如查询以"es"结尾的五个字母组成的部门名称的部门信息

    那么sql就需要写成:

    select * from departments where dept_name like '___es';

    需要写三个下划线"_",查询结果为:

    通配符的使用还是很方便的,但是这种方便性是以牺牲性能为代价的,使用通配符查询时要比准确查询花费的时间更长,所以不要过度使用通配符。

    生于忧患,死于安乐
  • 相关阅读:
    5.4.3 果园里的树
    5.3.2 字母重排
    5.3.1 6174问题
    Codeforces Round #253 (Div. 2), problem: (B)【字符串匹配】
    POJ1054 枚举【STL__binary_search()_的应用】
    432B
    0x3f3f3f3f...编程中无穷大常量的设置技巧
    2014年百度之星程序设计大赛 资格赛第一题 (longlong)
    Tarjan
    Dijkstra、Dij + heap、Floyd、SPFA、 SPFA + SLF Template
  • 原文地址:https://www.cnblogs.com/songlove/p/15494701.html
Copyright © 2011-2022 走看看