1.sql按照日期筛选时间
- select * from test where date(time) ='202105-27' 当前日期所有数据
- select * from test where date(time) >='2021-05-27' and date(time) <='2021-05-28' 日期范查询 注:date函数会将time字段的值取出日期部分然后判断是否与条件值相同
2.最好建议使用sql的date函数来通过日期来查询,而不是使用字符串,如下
- select * from test where time ='2021-05-27'
- select * from test where time >='2021-05-27' and time <='2021-05-28' 注:字符串字面量 '2021-05-27' 将被强制转换为日期字面量。
3.mysql - (字符串转换为日期)函数
- SELECT STR_TO_DATE('2021-06-04 10:20:30','%Y-%m-%d %H:%i:%s') AS result; result: 2021-06-04 10:20:30
- SELECT STR_TO_DATE('2021-06-04 10:20:30','%Y-%m-%d') AS result2; result:2021-06-04
其它:
SELECT STR_TO_DATE('06.05.2021 19:40:30', '%m.%d.%Y %H:%i:%s');-- 2021-06-05 19:40:30
SELECT STR_TO_DATE('06/05/2021', '%m/%d/%Y'); -- 2021-06-05
SELECT STR_TO_DATE('2021/12/3','%Y/%m/%d') -- 2021-12-03
4.日期时间格式化
- SELECT DATE_FORMAT('2021-06-04 17:03:51', '%Y年%m月%d日 %H时%i分%s秒');-- 2021年06月04日 17时03分51秒(具体需要什么格式的数据根据实际情况来;小写h为12小时制;)