MySQL相关操作(实用函数和sql语法)
1.时间函数
当前时间
select current_timestamp();
当前时间戳
select UNIX_TIMESTAMP(NOW());
当前时间戳精确到毫秒
select REPLACE(unix_timestamp(current_timestamp(3)),'.','');
获取当前日期 只有时间
SELECT CURDATE(),CURTIME()
从日期减去指定时间 或 加上指定时间
DATE_SUB(CURDATE(),interval 7 day) 日期减去7天
DATE_ADD(CURDATE(),INTERVAL 7 DAY) 日期加上7天
处理时间格式
DATE_FORMAT(now(),'%Y-%m-%d %H:%i:%s')
处理时间戳 如果为13位时间戳 需要先截取后使用 from_unixtime
select substr(1640947500000, 1, 10);
from_unixtime(1640947500, '%Y-%m-%d %H:%i:%s')
查询为空显示数据
IFNULL(X,'')
数据拼接
CONCAT()
如果需要分隔符
CONCAT_WS() 第一位为分隔符
一对多分组查询
GROUP_CONCAT('' ORDER BY '' ASC separator '')
四舍五入处理数据 X处理的数,D保留几位小数
SELECT ROUND(X,D)
替换当前字段部分字符(如隐藏手机号、身份证号)
INSERT('字符串',x,len,'*') x开始,用 len 个字符长的字符串代替*
2.case…when…then…else…end
对MySQL字段做逻辑处理 例如:case level when 1 THEN '低’when 2 THEN '高’when 3 THEN ‘紧急’ end
用处很多,可以自己查找相关资料。
3.sql在指定位置添加多个字段
# after 在email字段位置后面添加app字段 在app字段位置后面添加sdk字段
ALTER TABLE `tb_name`
ADD COLUMN `app` varchar(20) NULL COMMENT '' AFTER `email`,
ADD COLUMN `sdk` varchar(20) NULL COMMENT '' AFTER `app`;