MySQL数据库——内置函数

1.日期函数

|--------------------------------------|--------------------------------------------------------|
| 函数名称 | 描述 |
| current_date() | 当前日期 |
| current_time() | 当前时间 |
| current_timestamp() | 当前时间戳 |
| date(datetime) | 返回datetime参数的日期部分 |
| date_add(date,interval d_value_type) | 在date中添加日期或时间 interval后的数值单位可以是:year minute second day |
| date_sub(date,interval d_value_type) | 在date中减去日期或时间 interval后的数值单位可以是:year minute second day |
| datediff(datel,date2) | 两个去日期的差,单位是天 |
| now() | 当前日期时间 |

sql 复制代码
-- 年月日
mysql> select current_date();
+----------------+
| current_date() |
+----------------+
| 2024-11-08     |
+----------------+
1 row in set (0.00 sec)

-- 时分秒
mysql> select current_time();
+----------------+
| current_time() |
+----------------+
| 17:54:51       |
+----------------+
1 row in set (0.00 sec)

-- 时间戳
mysql> select current_timestamp();
+---------------------+
| current_timestamp() |
+---------------------+
| 2024-11-08 17:55:00 |
+---------------------+
1 row in set (0.00 sec)

-- 日期加日期
mysql> select date_add('2024-11-8',interval 10 day);
+---------------------------------------+
| date_add('2024-11-8',interval 10 day) |
+---------------------------------------+
| 2024-11-18                            |
+---------------------------------------+
1 row in set (0.00 sec)

-- 日期减日期
mysql> select date_sub('2024-11-8',interval 10 day);
+---------------------------------------+
| date_sub('2024-11-8',interval 10 day) |
+---------------------------------------+
| 2024-10-29                            |
+---------------------------------------+
1 row in set (0.00 sec)

-- 相差
mysql> select datediff('2024-11-8','2023-11-18');
+------------------------------------+
| datediff('2024-11-8','2023-11-18') |
+------------------------------------+
|                                356 |
+------------------------------------+
1 row in set (0.00 sec)

2.字符串函数

|------------------------------------------|--------------------------------|
| charset(str) | 返回字符串字符集 |
| concat(string2,,...) | 连接字符串 |
| instr(string,substring) | 返回substring在string中出现的位置,没有返回0 |
| ucase(string2) | 转换成大写 |
| lcase(string2) | 转换成小写 |
| left(string2,length) | 从string2中的左边起取length个字符 |
| length(string) | string的长度 |
| replace(str,search_str,replace_str) | 在str中用replace_str替换search_str |
| strcmp(string1,string2) | 逐字符比较两字符串大小 |
| substring(str,position,length) | 从str的postion开始,取length个字符 |
| ltrim(string) rtrim(string) trim(string) | 去除前空格或后空格 |

3.数学函数

|--------------------------------|----------------------|
| 函数名称 | 描述 |
| abs(number) | 绝对值函数 |
| bin(decimal_number) | 十进制转换二进制 |
| hex (decimalNumber) | 转换成十六进制 |
| conv(number,from_base,to_base) | 进制转换 |
| ceiling(number) | 向上去整 |
| floor(number) | 向下去整 |
| format (number,decimal_places) | 格式化,保留小数位数 |
| hex(decimalNumber) | 转换成十六进制 |
| rand() | 返回随机浮点数,范围[0.0,1.0) |
| mod(number,denominator) | 取模,求余 |

sql 复制代码
-- 绝对值
mysql> select abs(100.2);
+------------+
| abs(100.2) |
+------------+
|      100.2 |
+------------+
1 row in set (0.00 sec)

-- 向上取整
mysql> select ceiling(23.04);
+----------------+
| ceiling(23.04) |
+----------------+
|             24 |
+----------------+
1 row in set (0.00 sec)

-- 向下取整
mysql> select floor(23.7);
+-------------+
| floor(23.7) |
+-------------+
|          23 |
+-------------+
1 row in set (0.00 sec)

-- 保留两位小数位数,小数四舍五入
mysql> select format(12.3456,2);
+-------------------+
| format(12.3456,2) |
+-------------------+
| 12.35             |
+-------------------+
1 row in set (0.00 sec)

-- 产生随机数
mysql> select rand();
+---------------------+
| rand()              |
+---------------------+
| 0.41486722269548776 |
+---------------------+
1 row in set (0.00 sec)

4.其他函数

  • user():查询当前用户
  • md5(str):对一个字符串进行md5摘要,摘要后得到一个32位字符串
  • database():显示当前正在使用的数据库
  • password():函数,MySQL数据库使用该函数对用户加密
  • ifnull(val1,val2):如果val1为null,返回val2,否则返回val1的值
相关推荐
qq_339191141 小时前
mysql磁盘占用排查,mysql存储空间占比统计,mysql判断哪张表占用磁盘空间大
数据库·mysql
东方护航数据恢复(深圳)1 小时前
SSD主控损坏后的芯片级提取:FTL映射表重建与NAND直读
大数据·数据库
光锥智能1 小时前
OceanBase领跑数字政府数据库选型:产品能力、市场潜力、技术潜力均居首
数据库·人工智能·oceanbase
风哥2号1 小时前
达梦DM数据库恢复工具FGDDU(FGEDU DM DUL)
数据库·达梦数据库·数据库恢复
2601_960017622 小时前
啤酒行业PLM突围战:一半科技以配方与工艺数字化重构酿造食品研发体系
数据库·科技·重构
2601_962063232 小时前
【Spring Boot】掌握 Spring 事务:隔离级别与传播机制解读与应用
spring boot·spring·adb
GIS数据转换器2 小时前
智慧林草“一张图“平台
java·大数据·服务器·前端·javascript·数据库·人工智能
gis开发之家3 小时前
Spring Boot 4 深度解析,JdbcTemplate 实战——轻量级数据库操作方案
java·数据库·spring boot·后端
李兆龙的博客3 小时前
问津集 #12:Calcspar:相同 Paid IOPS 下的 RocksDB 尾延迟优化
数据库