sql之'字符串的子片段查询'

本文详细介绍了SQL中substring函数的应用,用于提取字符串的一部分,以及LIKE运算符结合通配符进行模糊匹配的方法。通过具体实例,展示了如何利用这两种方式查询特定格式的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.实现方法

1.substring( expression , start , length ) 
返回字符、binary、text 或 image 表达式的一部分。
    expression:字符串、二进制字符串、text、image、列或包含列的表达式
    start:整数,指定子串的开始位置      注:SQL中"1"表示字符串中的第一个字符
    length:整数,指定子串的长度(要返回的字符数或字节数)

2.like
在 WHERE 子句中搜索列中的指定内容。
可以同 LIKE 运算符一起使用的通配符有两个:
    ”%“ 代表任意个字符
    “_” 代表一个字符

     使用规则:

WHERE SALARY LIKE '200%'找出所有 200 打头的值
WHERE SALARY LIKE '%200%'找出所有含有 200 的值
WHERE SALARY LIKE '_00%'找出所有第二位和第三位为 0 的值
WHERE SALARY LIKE '2_%_%'找出所有以 2 开始,并且长度至少为 3 的值
WHERE SALARY LIKE '%2'找出所有以 2 结尾的值
WHERE SALARY LIKE '_2%3'找出所有第二位为 2,并且以3结束的值
WHERE SALARY LIKE '2___3'找出所有以 2 开头以 3 结束的五位数


二.应用案例:

1.创建表:

insert into demo_data(good_data) 
VALUES('2019-1-1 12:11'),
('2019-1-2 13:11'),
('2019-1-3 14:11'),
('2019-1-1 20:11');

 表单结构如下:

2.1.使用 substring() 查询good_data中包含'2019-1-1'的行

SELECT id from demo_data where substring(good_data,1,8)='2019-1-1';

2.2.使用 like 查询good_data中包含'2019-1-1'的行

SELECT id from demo_data where good_data like('%2019-1-1%');

参考:

http://wiki.jikexueyuan.com/project/sql/like-clause.html

https://www.cnblogs.com/JerryWhite/archive/2009/06/06/1497742.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值