LEFT的用法
字符串提取的函数。
LEFT(str,len): 表示提取字符串str中从左边开始的字符数。
RIGHT(str,len):表示提取字符串str中从右边开始的字符数。
INTERVAL 用法
INTERVAL:时间间隔,可用作时间加减。
-- 表示当前时间的前24小时的时间
-- 当前时间: 2021-01-25 22:44:02
-- 前24小时的时间为:2021-01-24 22:44:02
SELECT NOW() - INTERVAL 24 HOUR
时间间隔字面量 | 说明 |
---|---|
INTERVAL ‘3’ DAY | 时间间隔为3天 |
INTERVAL ‘2’ HOUR | 时间间隔为2小时 |
INTERVAL ‘25’ MINUTE | 时间间隔为25分钟 |
INTERVAL ‘45’ SECOND | 时间间隔为45秒 |
INTERVAL ‘3 2’ DAY TO HOUR | 时间间隔为3天零2小时 |
INTERVAL ‘3 2:25’ DAY TO MINUTE | 时间间隔为3天零2小时25分 |
INTERVAL ‘3 2:25:45’ DAY TO SECOND | 时间间隔为3天零2小时25分45秒 |
INTERVAL ‘123 2:25:45.12’ DAY(3) TO SECOND(2) | 时间间隔为123天零2小时25分45.12秒; 天的精度是3位数字,秒的小数部分的精度是2位数字 |
INTERVAL ‘3 2:00:45’ DAY TO SECOND | 时间间隔为3天2小时0分45秒 |
INTERVAL ‘-3 2:25:45’ DAY TO SECOND | 时间间隔为负数,值为3天零2小时25分45秒 |
INTERVAL ‘1234 2:25:45’ DAY(3) TO SECOND | 时间间隔无效,因为天的位数超过了指定的精度3 |
INTERVAL ‘123 2:25:45.123’ DAY TO SECOND(2) | 时间间隔无效,因为秒的小数部分的位数超过了指定的精度2 |
ON DUPLICATE KEY UPDATE 语法
在insert语句中使用,后面不能跟where语句。
表示:如果需要插入的数据会导致主键重复,则更新;如果需要插入的数据不会导致主键重复则执行插入语句。
INSERT INTO daily_counter(day,slot,cnt)
VALUES(CURRENT_DATE,RAND() * 100,1)
ON DUPLICATE KEY UPDATE cnt = cnt + 1;