1.日期
在t4 表 中 的每个名字前都加上 “姓名” 在列名 age 变成 age+5 然后在根据出生日日期计算出生日
(当前时间-出生时间)
-- 计算列 concat:将多个字符串连接成一个字符串
select id 编号 ,concat('姓名',name) 姓名,age+5,birth,year(curdate())
-year(birth) 现在年龄 from t4;
2. 获取两个日期相差多少天
-- 日期计算天数
-- 计算两个日期相差多少天(默认是左-右)
select datediff(curdate(),'2023-8-3');
3. 计算两个日期相差多少年
-- 计算两个日期相差多少年(默认是左-右)
select year(curdate())-year('2022-3-1')
4 模糊查询
SELECT * FROM `t4`
-- like 模糊查询
-- 查询所有姓张的人 _代表一个字符 %代表 0 个或者多个字符
SELECT * from t4 WHERE name LIKE'张%';
-- 查询名字里最后一个字是三的所有人
SELECT *FROM t4 where name like '%三';
-- 查询名字里带丽的所有人
SELECT *FROM t4 where name like '%丽%';
-- 查询名字只有两个字的所有人、
SELECT * from t4 where name like '__';
-- 查询名字长度是2 的所有人
SELECT * FROM t4 where CHAR_LENGTH(`name`);
5. 正则表达式
-- regexp 正则
SELECT '123' REGEXP '[0-9]+';
SELECT name,addr FROM t4 where name REGEXP '[0-9]+';
SELECT*FROM t4 where `name` REGEXP '^[0-9]+$';
select name,addr FROM t4 where name LIKE'__';