您现在的位置是:网站首页> 编程资料编程资料
详解数据库_MySQL: mysql函数_Mysql_
2023-05-27
428人已围观
简介 详解数据库_MySQL: mysql函数_Mysql_
一.内置函数
1.数学函数
| rand() | round(num) | ceil(num) | floor(num) |
|---|---|---|---|
| 随机 | 四舍五入 | 向上取整 | 向下取整 |
2.字符串函数
length() 字节长度
char_length() 字符长度
ucase() 大写
lcase() 小写
concat(字符,…,字符n) 连接字符串
replace(字符串,旧字符,新字符)字符串替换
截取字符串
left(字符串,截取长度)
right(字符串,截取长度)
substring(字符串,开始位置,截取长度) #包含开始位置
mysql> select left('123456',4); +------------------+ | left('123456',4) | +------------------+ | 1234 | +------------------+ 1 row in set (0.00 sec) mysql> select right('123456',4); +-------------------+ | right('123456',4) | +-------------------+ | 3456 | +-------------------+ 1 row in set (0.00 sec) mysql> select substring('123456',2,4); +-------------------------+ | substring('123456',2,4) | +-------------------------+ | 2345 | +-------------------------+ 1 row in set (0.00 sec) 3.日期函数
| now() | unix_timestamp() | from_unixtime() |
|---|---|---|
| 当前时间 | 时间戳 | 格式化时间戳 |
mysql> select now(); +---------------------+ | now() | +---------------------+ | 2019-03-16 14:55:42 | +---------------------+ 1 row in set (0.00 sec) mysql> select unix_timestamp(); +------------------+ | unix_timestamp() | +------------------+ | 1552719356 | +------------------+ 1 row in set (0.00 sec) mysql> select from_unixtime(1552719356); +---------------------------+ | from_unixtime(1552719356) | +---------------------------+ | 2019-03-16 14:55:56 | +---------------------------+ 1 row in set (0.00 sec)
| year() | month() | day() | hour() | minute() | second() |
|---|---|---|---|---|---|
| 年 | 月 | 日 | 时 | 分 | 秒 |
mysql> select -> year(now()) as '年', -> month(now()) as '月', -> day(now()) as '日', -> hour(now()) as '时', -> minute(now()) as '分', -> second(now()) as '秒'; +------+------+------+------+------+------+ | 年 | 月 | 日 | 时 | 分 | 秒 | +------+------+------+------+------+------+ | 2019 | 3 | 16 | 14 | 59 | 12 | +------+------+------+------+------+------+
4.加密函数
md5(数据)
password(数据)
5.条件判断函数
1).语法: if(数据,值1,值2) #判断指定数据是否为真:真-值1,假-值2
mysql> select if(null,1,2); +--------------+ | if(null,1,2) | +--------------+ | 2 | +--------------+ 1 row in set (0.00 sec) mysql> select if(1,0,2); +-----------+ | if(1,0,2) | +-----------+ | 0 | +-----------+ 1 row in set (0.00 sec)
2).语法: IFNULL(数据,值2) #判断指定数据是否为null:null-值2,非null-本身
mysql> select ifnull(0,123); +---------------+ | ifnull(0,123) | +---------------+ | 0 | +---------------+ 1 row in set (0.00 sec) mysql> select ifnull('a',123); +-----------------+ | ifnull('a',123) | +-----------------+ | a | +-----------------+ 1 row in set (0.00 sec) 二.自定义函数
语法:
#修改结束符 delimiter // create function 函数名(参数名 类型,...,参数名n 类型n) returns 返回数据类型 begin #SQL语句 return 返回值; end // delimiter ; #调用 select 函数名();
输出"hello world"(不带参数的函数)
#判断函数是否存在,存在就删除 drop function if exists f1; delimiter // create function f1() returns varchar(30) begin return 'hello world'; end // delimiter ; select f1(); +-------------+ | f1() | +-------------+ | hello world | +-------------+
传递两个整型求和(带参数的函数)
drop function if exists f2; delimiter // create function f2(num1 int, num2 int) returns int begin return num1 + num2; end // delimiter ; select f2(8, 2); +----------+ | f2(8, 2) | +----------+ | 10 | +----------+
三.自定义函数相关语法
显示所有的函数:show function status\G #输出的内容很多
删除函数:drop function [if exists] 函数名;
四.存储过程和函数的区别
存储过程可以返回多个值,而自定义函数只能返回一个值
存储过程一般独立执行,而函数往往作为其他SQL语句的一部分来使用
以上所述是小编给大家介绍的数据库_MySQL: mysql函数详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
相关内容
- linux下mysql乱码问题的解决方案_Mysql_
- 详解MySQL子查询(嵌套查询)、联结表、组合查询_Mysql_
- mysql索引基数概念与用法示例_Mysql_
- Mysql通过存储过程分割字符串为数组_Mysql_
- MySQL数据库中CAST与CONVERT函数实现类型转换的讲解_Mysql_
- mysql实现查询数据并根据条件更新到另一张表的方法示例_Mysql_
- mysql 8.0.15 winx64安装配置方法图文教程_Mysql_
- window下mysql 8.0.15 winx64安装配置方法图文教程_Mysql_
- mysql 8.0.15 压缩版安装图文教程_Mysql_
- mysql 8.0.11 安装配置方法图文教程(win10)_Mysql_
