这篇文章将为大家详细讲解有关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函数的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。