通配符和like用法

-- 在搜索数据库的时候,sql通配符可以替换一个或者多个字符(sql通配符必须和like操作符一起使用)
--sql 通配符包括:

------ 1. %  (替换一个或多个字符)

select * from base_dept where dept_name like '琴%';--从表中搜索出部门名称 以琴开头的
select * from base_dept where dept_name like '%琴';--从表中搜索出部门名称 以琴结尾的
select * from base_dept where dept_name like '%琴%';--从表中搜索出部门名称 包含琴的

------ 2. _  (替换一个字符)

select * from base_dept where dept_name like '_honghq';--从表中搜索部门名称 的第一个字符之后是“honghq”的部门
select * from base_dept where dept_name like 'A_z_ab';--从表中搜索部门名称以A开头,然后是一个任意字符,然后是z,然后是一个任意字符,然后是ab

------ 3. [charlist] 字符列中的任何单一字符

select * from base_dept where dept_name like '[afg]%';--从表中搜索部门名称以 a 或者 f 或者 g 开头 的部门名称

------ 4.[^charlist] 和 [!charlist]  不在字符列中的任何单一字符

select * from base_dept where dept_name like '[^afg]';--从表中搜索部门名称不以 a 或者 f 或者 g 开头 的部门名称
select * from base_dept where dept_name like '[!afg]';--从表中搜索部门名称不以 a 或者 f 或者 g 开头 的部门名称

 

 

### SQL LIKE 语法及使用示例 #### 1. 基本语法 `LIKE` 是 SQL 中用于模式匹配的关键字,通常与 `WHERE` 子句结合使用以筛选符合特定模式的数据。其基本语法如下: ```sql SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern; ``` 在此语法中,`pattern` 表示一个字符串模式,可以包含通配符[^3]。 #### 2. 通配符的使用 `LIKE` 操作符支持以下两种主要的通配符: - `%`:表示零个或多个字符。 - `_`:表示单个字符。 #### 3. 示例代码 ##### 示例 1:查找以特定字符开头的记录 以下查询将返回 `Persons` 表中所有以 "李" 开头的记录[^4]。 ```sql SELECT * FROM Persons WHERE LastName LIKE '李%'; ``` ##### 示例 2:查找包含特定字符的记录 以下查询将返回 `Persons` 表中所有 `City` 列包含 "g" 的记录[^3]。 ```sql SELECT * FROM Persons WHERE City LIKE '%g%'; ``` ##### 示例 3:查找以特定字符结尾的记录 以下查询将返回 `Persons` 表中所有 `City` 列以 "qiu" 结尾的记录[^5]。 ```sql SELECT * FROM Persons WHERE FirstName LIKE '%qiu'; ``` ##### 示例 4:查找固定长度的记录 以下查询将返回 `Persons` 表中所有 `FirstName` 列为三个字母且以 "qiu" 结尾的记录[^5]。 ```sql SELECT * FROM Persons WHERE FirstName LIKE '__qiu'; ``` ##### 示例 5:查找不包含特定字符的记录 以下查询将返回 `Persons` 表中所有 `FirstName` 列以 "x" 开头但第二个字符不是 "x" 的记录[^5]。 ```sql SELECT * FROM Persons WHERE FirstName LIKE 'x[^x]%'; ``` #### 4. 区分大小写 在某些数据库(如 MySQL)中,`LIKE` 操作符默认不区分大小写。如果需要区分大小写,可以使用二进制比较或 `BINARY` 关键字。 ```sql SELECT * FROM Persons WHERE BINARY FirstName LIKE 'Xiao%'; ``` #### 5. 替代方案 对于更复杂的模式匹配需求,可以使用正则表达式替代 `LIKE`。例如,在 MySQL 中可以使用 `REGEXP`。 ```sql SELECT * FROM Persons WHERE City REGEXP '^Beijing$'; ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值