详解数据库_MySQL: mysql函数

吾爱主题 阅读:132 2024-04-05 14:02:57 评论:0

一.内置函数

1.数学函数

 

rand() round(num) ceil(num) floor(num)
随机 四舍五入 向上取整 向下取整

 

2.字符串函数

length() 字节长度
char_length() 字符长度

ucase() 大写
lcase() 小写

concat(字符,…,字符n) 连接字符串

replace(字符串,旧字符,新字符)字符串替换

截取字符串
left(字符串,截取长度)
right(字符串,截取长度)
substring(字符串,开始位置,截取长度) #包含开始位置

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 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()
当前时间 时间戳 格式化时间戳

 

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 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()

 

?
1 2 3 4 5 6 7 8 9 10 11 12 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

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 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-本身

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 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)

二.自定义函数

语法:

?
1 2 3 4 5 6 7 8 9 10 11 #修改结束符 delimiter // create function 函数名(参数名 类型,...,参数名n 类型n) returns 返回数据类型 begin #SQL语句 return 返回值; end // delimiter ;   #调用 select 函数名();

输出"hello world"(不带参数的函数)

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #判断函数是否存在,存在就删除 drop function if exists f1;   delimiter // create function f1() returns varchar (30) begin   return 'hello world' ; end // delimiter ;   select f1();   + -------------+ | f1()  | + -------------+ | hello world | + -------------+

传递两个整型求和(带参数的函数)

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 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函数详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:https://blog.csdn.net/weixin_43851310/article/details/88606295

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容