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) 日期减去7DATE_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`;
posted @ 2021-12-30 09:55  sowler  阅读(15)  评论(0编辑  收藏  举报  来源