数学函数
# 进制转换SELECT CONV('a',16,2); -- 1010SELECT CONV('6E',18,8); -- 172SELECT CONV(-17,10,-18); -- -HSELECT CONV(10+'10'+'10'+X'0a',10,10); -- 40# 绝对值select ABS(-1);select ABS(123);# 向上取整select ceil(1.1);# 向下去整select floor(1.9);# 四舍五入select round(1.3);select round(1.6);字符串函数
# 拼接字符串select concat('枫枫', '知道');# 拼接字符串,指定拼接符号select concat_ws('-', '枫枫', '知道');# 提取字符串select substr('fengfeng', 1, 4); # fengselect substr('fengfeng', -4, 4); # feng 从后往前# 按分隔符截取字符串前 N 个或者后 N 个子串select substring_index('fengfengzhidao.com', '.', 1); # fengfengzhidaoselect substring_index('fengfengzhidao.com', '.', -1); # comselect substring_index('fengfengzhidao.com', '.', 2); # fengfengzhidao.com日期函数
# 返回当前时间select now();# 返回年月日的格式select CURDATE();# 返回时间格式select CURTIME();# 时间戳转日期SELECT FROM_UNIXTIME(1697537006);# 日期转时间戳SELECT UNIX_TIMESTAMP('2023-10-17 10:03:26');SET @dt = '2019-04-16 15:05:12.123456';# 时间选取select date(@dt) as 日期, TIME(@dt) as 时间, YEAR(@dt) as 年, MONTH(@dt) as 月, MONTHNAME(@dt) as 全名月, DAY(@dt) as 月份中的天, DAYNAME(@dt) as 星期名字, DAYOFYEAR(@dt) as 一年的天数, HOUR(@dt) as 时, MINUTE(@dt) as 分, SECOND(@dt) as 秒, QUARTER(@dt) as 季度, WEEK(@dt) as 周数;比较函数
select 1 in (1, 2);select 1 in (2, 4);select isnull(null);select isnull(1);# 算最小值select least(1,2,3,4);# 返回最大值select greatest(1,2,3,4)


