一.实现方法
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