详解数据库_MySQL: mysql函数

Kelli ·
更新时间:2024-09-21
· 514 次阅读

一.内置函数

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函数详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对软件开发网网站的支持!

您可能感兴趣的文章:sql与各个nosql数据库使用场景的讲解数据库语言分类DDL、DCL、DML详解MySQL数据库中CAST与CONVERT函数实现类型转换的讲解mysql 8.0.15 安装图文教程及数据库基础SQL SERVER 数据库备份代码实例PostgreSQL数据库中窗口函数的语法与使用如何合理使用数据库冗余字段的方法Mysql主从数据库(Master/Slave)同步配置与常见错误PHP单例模式数据库连接类与页面静态化实现方法如何在一个千万级的数据库查询中提高查询的效率?



数据 mysql函数 数据库 Mysql

需要 登录 后方可回复, 如果你还没有账号请 注册新账号