MYSQL 常用函数

---------------------------------------------常用函数----------------------------------

以下所示列的数据库表

在这里插入图片描述

聚合函数

函数名作用
AVG()返回某字段的平均值
COUNT()返回某字段的行数
MAX()返回某字段的最大值
MIN()返回某字段的最小值
SUM()返回某字段的和

字符串函数

函 数 名作 用举 例
CONCAT(str1, str1…strn)字符串连接CONCAT(‘My’,‘S’,‘QL’);返回:MySQL
INSERT(str,pos,len,newstr)字符串替换SELECT INSERT ‘这是SQL Server数据库’, 3,10,‘MySQL’);返回:这是MySQL数据库
LOWER(str)将字符串转为小写SELECT LOWER(‘MySQL’);返回:mysql
UPPER(str)将字符串转为大写SELECT UPPER(‘MySQL’);返回:MYSQL
SUBSTRING (str,num,len)字符串截取SELECT SUBSTRING( ‘JavaMySQLOracle’,5,5);返回:MySQL

一些字符串函数示列

1).计算字符串长度

    例子:select Name,length(Name) from person;

2).转换为小写

    例子:select Name,lower(Name) from person;

3).转换为大写

    例子:select Name,upper(Name) from person;

4).截去字符串左侧空格

    例子:select Name,ltrim(Name),ltrim('   abc   ') from person;

5).截去字符串左侧空格

    例子:select Name,rtrim(Name),rtrim('   abc   ') from person;

6).截去字符串两侧空格

    例子:select Name,trim(Name),trim('   abc   ') from person;

7).取子字符串

    第二个参数是截取的起始位置,第三个参数是长度
    例子:select substring('abcdef111',2,3);
         select Name,substring(Name,2,3) from person;

8).计算子串的位置

    例子:select Name,instr(Name,'m'),instr(Name,'ly') from person;

9).从左侧开始取字串

    例子:select Name,left(Name,3),left(Name,2) from person;

10).从右侧开始取字串

    例子:select Name,right(Name,3),right(Name,2) from person; 

11).字符串替换

    第一个参数是字符串,第二个是要被替换的子串,第三个是想要替换的子串.
    这个函数第三个参数如果为空串的话相当于删除操作了.

    例子:select Name,replace(Name,'i','e'),IDNumber,
    replace(IDNumber,'2345','abcd') from person; 

时间日期函数

函数名作用举例
CURDATE()获取当前日期SELECT CURDATE();返回:2016-08-08
CURTIME()获取当前时间SELECT CURTIME();返回:19:19:26
NOW()获取当前日期和时间SELECT NOW();返回:2016-08-08 19:19:26
WEEK(date)返回日期date为一年中的第几周SELECT WEEK(NOW());返回:26
YEAR(date)返回日期date的年份SELECT YEAR(NOW());返回:2016
HOUR(time)返回时间time的小时值SELECT HOUR(NOW());返回:9
MINUTE(time)返回时间time的分钟值SELECT MINUTE(NOW());返回:43
DATEDIFF(date1,date2)返回日期参数date1和date2之间相隔的天数SELECT DATEDIFF(NOW(), ‘2008-8-8’);返回:2881
ADDDATE(date,n)计算日期参数date加上n天后的日期SELECT ADDDATE(NOW(),5);返回:2016-09-02 09:37:07

一些日期函数示列

1).获取当前日期时间
    例子:select now(),sysdate(),current_timestamp;

2).获取当前日期

    例子:select curdate(),current_date;  

3).获取当前时间

    例子:select curtime(),current_time;  

4).日期增减

    函数:date_add(date,interval expr type);它的别名是adddate()

    例子:select BirthDay,date_add(BirthDay,interval 1 
         week) as w1,date_add(BirthDay,interval 2 month) as m2,
         date_add(BirthDay,interval 5 quarter) as q5 from person;

         select BirthDay,date_add(BirthDay,interval '3 2:10' DAY_MINUTE) as 
         dm,date_add(BirthDay,interval 1-6 YEAR_MONTH) as ym from person;

5).计算日期差

    例子:select RegDay,BirthDay,datediff(RegDay,BirthDay),
    datediff(BirthDay,RegDay) from person;

6).计算一个日期是星期几

    例子:select BirthDay,dayname(BirthDay),RegDay,dayname(RegDay) from person;

7).取得日期的指定部分

    函数:date_format(date,format);

    例子:select BirthDay,date_format(BirthDay,'%y-%M %D %W') as 
    bd,RegDay,date_format(RegDay,'%Y年%m月%e日') 
    as rd from person;

数学函数

函数名作 用举 例
CEIL(x)返回大于或等于数值x的最小整数SELECT CEIL(2.3)返回:3
FLOOR(x)返回小于或等于数值x的最大整数SELECT FLOOR(2.3)返回:2
RAND()返回0~1间的随机数SELECT RAND()返回:0.5525468583708134

一些数学函数示列:
1).求绝对值

    例子:select Weight-50,abs(Weight-50),abs(-5.38) from person;

2).求指数

    例子:select Weight,power(Weight,-0.5),power(Weight,2),
    power(Weight,3),power(Weight,4) from person;

3).求平方根

    例子:select Weight,sqrt(Weight) from person;

4).求随机数

    例子:select rand();

5).舍入到最大整数

    例子:select Name,Weight,ceiling(Weight),ceiling(Weight*-1) from person;

6).舍入到最小整数

    例子:select Name,Weight,floor(Weight),floor(Weight*-1) from person;

7).四舍五入

    round()函数的用法:两个参数的和一个参数的

    两个参数:round(m,d),m为待进行四舍五入的数值,而d则为计算精度.d还可以取负值.
    例子:select Name,Weight,round(Weight,1),
    round(Weight*-1,0),round(Weight,-1) from person;

    一个参数:round(m),相当于d=0
    例子:select Name,Weight,round(Weight),round(Weight*-1) from person;

8).求正弦值

    例子:select Name,Weight,sin(Weight) from person;

9).求余弦值

    例子:select Name,Weight,cos(Weight) from person;

10).求反正弦值

    例子:select Name,Weight,asin(1/Weight) from person;

11).求反余弦值

    例子:select Name,Weight,acos(1/Weight) from person;

12).求正切值

    例子:select Name,Weight,tan(Weight) from person;

13).求反正切值

    例子:select Name,Weight,atan(Weight) from person;

14).求X/Y的反正切值

    例子:select Name,Weight,atan2(Weight,2) from person;

15).求余切

    例子:select Name,Weight,cot(Weight) from person;

16).求圆周率pi

    例子:select Name,Weight,Weight*pi(),pi() from person;  

17).求整除余数

    例子:select Name,Weight,mod(Weight,5) from person;

18).求自然对数

    例子:select Name,Weight,log(Weight) from person;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值