mysql常用函数
数学函数 # 进制转换 SELECT CONV('a',16,2); -- 1010 SELECT CONV('6E',18,8); -- 172 SELECT
mysql常用函数
发布时间:2023-10-18 (2023-10-18)

数学函数

# 进制转换
SELECT CONV('a',16,2);          -- 1010
SELECT CONV('6E',18,8);          -- 172
SELECT CONV(-17,10,-18);        -- -H
SELECT 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); # feng
select substr('fengfeng', -4, 4); # feng 从后往前
# 按分隔符截取字符串前 N 个或者后 N 个子串
select substring_index('fengfengzhidao.com', '.', 1); # fengfengzhidao
select substring_index('fengfengzhidao.com', '.', -1); # com
select 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)