mysql函数的示例分析

64次阅读
没有评论

共计 3075 个字符,预计需要花费 8 分钟才能阅读完成。

这篇文章将为大家详细讲解有关 mysql 函数的示例分析,丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一. 内置函数

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 函数的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-04发表,共计3075字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)