MySQL数据库中常用函数及如何定义函数

内置函数:

1.字符串函数:

拼接字符串concat(str1,str2…)
例:select concat(12,34,‘ab’);
例:select name,hometown,concat(name,‘的家乡是’,hometown) from students

2.某个字符串的个数是几:length(str)
例:select length(‘abc’);
注意:一个中文length长度为3,其他长度都为1 与varchar有区别,varchar长度都是1个
select * from students where length(name)=6

3.截取字符串:
left(str,len) 返回字符串str的左端len个字符
– 例:select left(‘abc’,1)
– select name,sex,concat(left(name,1),’**’) from students
right(str,len) 返回字符串str的右端len个字符
– 例:select right(‘abc’,1)
substring(str,pos,len) 返回字符串str的位置pos起len个字符
例:select substring(‘abc’,2,1)

4.去除空格
ltrim(str)返回删除了左空格的字符串str
– select ltrim(’ abc ‘)
rtrim(str)返回删除了右空格的字符串str
– select rtrim(’ abc ‘)
去除两边空格:
– select ltrim(rtrim(’ abc ‘))
– select trim(’ abc ')

5.大小写转换,函数如下:
转换为小写:lower(str) 例:select lower(‘abDFG’)
转换为大写: upper(str) 例:select upper(‘abDFG’)

数学函数:

1.求四舍五入值round(n,d),n表示原数,d表示小数位置,默认为0
select round(1.6); 注意:小数位置没有值表示不要小数,即结果为整数

2.求x的y次幂pow(x,y)
select pow(2,3);

3.获取圆周率PI()
select PI();

4.随机数rand(),值为0-1.0的浮点数
select rand();
求随机0-10的整数:select round(rand()*10);
随机从一个表中取一条记录:select * from students order by rand() limit 1

日期时间函数

1.当前日期current_date()
select current_date();

2.当前时间current_time()
select current_time();

3.当前日期时间now()
select now();

4.日期格式化date_format(date,format)
参数format可选值如下
%Y 获取年,返回完整年份
%y 获取年,返回简写年份
%m 获取月,返回月份
%d 获取日,返回天值
%H 获取时,返回24进制的小时数
%h 获取时,返回12进制的小时数
%i 获取分,返回分钟数
%s 获取秒,返回秒数

自定义函数
语法如下

delimiter $$
create function 函数名称(参数列表) returns 返回类型
begin
sql语句
end
$$
delimiter ;

说明:delimiter用于设置分割符,默认为分号
在“sql语句”部分编写的语句需要以分号结尾,此时回车会直接执行,所以要定义函数前需
要指定其它符号作为分割符,此处使用$$,也可以使用其它字符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值