MySQL常用函数

表数据结构如下:

    MySQL常用函数

MySQL常用函数分类:

  1、字符函数   

    1、CONCAT():拼接字符串

SELECT 
    CONCAT(b.id,‘--->‘,b.name,‘===‘,b.sex) AS ‘编号‘
FROM beauty b
WHERE b.id IN (1,3,5);

MySQL常用函数

 

    2、SUBSTR():截取子串

     2.1、SUBSTR(str,pos):从pos的位置开始截取字符串str

       注意:MySQL的索引是从1开始的

SELECT SUBSTR(‘人生没有如果,只有后果和结果‘,8) AS result;          //从索引位置为8的地方开始截取字符串    人生没有如果,只有后果和结果

MySQL常用函数

      2.2、SUBSTR(str,pos,len):从pos的位置开始截取长度为len的字符

SELECT SUBSTR(‘人生没有如果,只有后果和结果‘,1,6) AS result;        //从索引为1的位置开始,截取长度为6的字符串

MySQL常用函数

 

    3、UPPER()/LOWER():转换成大写/小写

SELECT UPPER(‘AbcdEFgHijKlMn‘) AS result;            //将AbcdEFgHijKlMn全部大写
SELECT LOWER(‘AbcdEFgHijKlMn‘) AS result;            //将AbcdEFgHijKlMn全部小写

MySQL常用函数                MySQL常用函数

 

    4、REPLACE(str,str2,str3):将str中的str2全部替换为str3

SELECT REPLACE(‘大弦嘈嘈如急雨‘,‘弦‘,‘琵琶‘) AS result;         //将 大弦嘈嘈如急雨中的弦全部替换为琵琶

MySQL常用函数

 

    5、TRIM(str):去除str前后的空格)

      5.1、TRIM(str):去除str前后的空格

SELECT TRIM(‘     aaaa小毛毛变身aaaa   ‘) AS result;      // 去除字符串   aaaa小毛毛变身aaaa  前后的空格

MySQL常用函数

      5.2、TRIM(‘str2‘ FROM str):去除str中的str2

SELECT TRIM(‘a‘ FROM ‘aaaa小毛毛变身aaaa‘) AS result;     // 去除指定字符串   aaaa小毛毛变身aaaa  中的字符 a

MySQL常用函数

 

    6、INSTR(str,substr):返回substr在str中第一次出现的位置,如果不存在返回为0

SELECT INSTR(‘人生没有如果,只有后果和结果‘,‘果‘);            // 指定字符串中第一次出现字符 ‘果‘的索引        结果是:6
SELECT INSTR(‘人生没有如果,只有后果和结果‘,‘嘿嘿‘);        // 如果字符串中不包含子串,则结果为0      

    

    7、LENGTH(str):返回str的字节长度

  UFT-8中英文字符长度为1,汉字字符长度为3,JDK中英文字符长度为1,汉字字符长度为2

SELECT LENGTH(‘abcdef‘);    //结果是6
SELECT LENGTH(‘小毛毛‘);     //结果是9

  

 

  2、数学函数

    1、ROUND

1、ROUND(X):实际上就是ROUND(X,0)的简写
对1.38进行四舍五入,保留0位小数
SELECT ROUND(1.38);
结果是: 1

2、ROUND(X,D):对X进行四舍五入,保留小数点后D位.
对1.3855333进行四合五入,保留三位小数
SELECT ROUND(1.3855333,3);
结果是: 1.386

    2、CEIL

CEIL(X):对X进行向上取整
SELECT CEIL(-3.38);
结果是:  -3

SELECT CEIL(3.38);
结果是:  4

    3、FLOOR

FLOOR(X):对X进行向下取整
SELECT FLOOR(3.38);
结果是:  3

SELECT FLOOR(-3.38);
结果是:  -4

    4、MOD

MOD(n,m):n对m取余

SELECT MOD(10,3);
结果是:  1

SELECT MOD(10,5);
结果是:  0

SELECT MOD(8,3);
结果是:  2

    5、TRUNCATE

TRUNCATE(X,D):截取X小数点后D位

SELECT TRUNCATE(5,2);
结果是:  5

SELECT TRUNCATE(3.6548952,3);
结果是:  3.654

SELECT TRUNCATE(3.98465886,5);
结果是:  3.98465

 

 

  3、日期函数

    1、NOW():返回当前系统日期+时间

NOW():返回当前系统日期+时间

SELECT NOW();
结果是:  2020-06-22 19:58:12

    2、CURDATE():返回当前系统日期

CURDATE():返回当前系统日期

SELECT CURDATE();
结果是:  2020-06-22

    3、CURTIME():返回当前系统时间

CURTIME():返回当前系统时间

SELECT CURTIME();
结果是:  19:58:12

    4、STR-TO-DATE():将字符解析为日期

STR-TO-DATE():将字符解析为日期

MySQL中日期和字符相互转换方法 
STR-TO-DATE(date,’%Y-%m-%d’)

%Y:代表4位的年份 
%y:代表2位的年份
%m:代表月, 格式为(01……12) 
%c:代表月, 格式为(1……12)
%d:代表月份中的天数,格式为(00…31) 
%e:代表月份中的天数, 格式为(0……31)
%H:代表小时,格式为(00……23) 
%k:代表 小时,格式为(0……23) 
%h: 代表小时,格式为(01……12) 
%I: 代表小时,格式为(01……12) 
%l :代表小时,格式为(1……12)
%i: 代表分钟, 格式为(00……59) 【只有这一个代表分钟,大写的I 不代表分钟代表小时】
%r:代表 时间,格式为12 小时(hh:mm:ss [AP]M) 
%T:代表 时间,格式为24 小时(hh:mm:ss)
%S:代表 秒,格式为(00……59) 
%s:代表 秒,格式为(00……59)

    5、DATE_FORMAT(date,format) 函数用于以不同的格式显示日期/时间数据.

DATE_FORMAT(date,format) 函数用于以不同的格式显示日期/时间数据.

DATE_FORMAT(NOW(),‘%y年%m月%d日‘)

 

 

  4、流程控制函数

    1、IF(expr1,expr2,expr3)

IF(expr1,expr2,expr3):作用类似于三元运算符,如果expr1成立,结果为expr2,否则为expr3

1、SELECT IF(10 > 5,‘大于‘,‘小于‘);
结果是:  大于

2、SELECT 
    last_name,
    commission_pct,
    IF(commission_pct IS NULL,‘没奖金,呵呵‘,‘有奖金,哈哈‘) 
FROM 
    employees;

    2、CASE

案例1:查询员工的工资,部门编号
要求:
    部门号=30,显示的工资为1.1倍
    部门号=40,显示的工资为1.2倍
    部门号=50,显示的工资为1.3倍
    其他部门,显示的工资为原工资

SELECT 
    salary AS 原始工资,
    department_id,
    CASE 
    WHEN department_id = 30 THEN salary * 1.1
    WHEN department_id =40 THEN salary * 1.2
    WHEN department_id = 50 THEN salary * 1.3
    ELSE salary
    END AS 新工资
FROM employees;

案例2:查询员工的工资的情况
如果工资>20000,显示A级别
如果工资>15000,显示B级别
如果工资>10000,显示C级别
否则,显示D级别

SELECT last_name,salary,
    CASE 
    WHEN salary > 20000 THEN ‘A级别‘
    WHEN salary > 15000 THEN ‘B级别‘
    WHEN salary > 10000 THEN ‘C级别‘    
    ELSE ‘D级别‘
    END
FROM employees;

 

 

  5、其它函数

SELECT VERSION():查看当前数据管理系统版本.
SELECT DATABASE():查看当前正在使用的数据库.
SELECT USER():查看当前用户.

 

MySQL常用函数

上一篇:初识jQuery


下一篇:Pyinstaller编译包含了pymssql包报错的问题