mysql el函数_Mysql 常用函数

##数学函数

1、distinct (去重)

##去掉显示的Student的重复行

select distinct Student.* from Student,SC where SC.Sid=Student.Sid;

2、ABS(绝对值)

MariaDB [m4]> SELECT ABS(-1);

+---------+

| ABS(-1) |

+---------+

| 1 |

+---------+

3、BIN(返回某个数的二进制)

MariaDB [m4]> SELECT BIN(6);

+--------+

| BIN(6) |

+--------+

| 110 |

+--------+

4、CEILING (返回大于X的最小整数)

MariaDB [m4]> SELECT CEILING(2.3) ;

+--------------+

| CEILING(2.3) |

+--------------+

| 3 |

+--------------+

5、 FLOOR(X)--返回小于X的最大整数值

MariaDB [m4]> select FLOOR(2.5);

+------------+

| FLOOR(2.5) |

+------------+

| 2 |

+------------+

6、 GREATEST(x1,x2,x3...xn)--返回集合中最大的数

MariaDB [m4]> select GREATEST('1','2','2.4','3.4','1.1');

+-------------------------------------+

| GREATEST('1','2','2.4','3.4','1.1') |

+-------------------------------------+

| 3.4 |

+-------------------------------------+

7、 LEAST(x1,x2,x3...xn) --返回集合中最小的数

MariaDB [m4]> select LEAST('1','2','0.2','3');

+--------------------------+

| LEAST('1','2','0.2','3') |

+--------------------------+

| 0.2 |

+--------------------------+

8、 MOD(x,y) (返回x除y的余数)

MariaDB [m4]> select MOD(9,5);

+----------+

| MOD(9,5) |

+----------+

| 4 |

+----------+

9、RAND() (返回小于1的随机数,如果有值数字就会成固定的数)

MariaDB [m4]> select RAND();(随机数)

+--------------------+

| RAND() |

+--------------------+

| 0.5363375009375974 |

+--------------------+

1 row in set (0.00 sec)

MariaDB [m4]> select RAND(2);(下面的是固定值)

+--------------------+

| RAND(2) |

+--------------------+

| 0.6555866465490187 |

+--------------------+

10、SIGN()负数返回-1、正数返回1、0返回0

MariaDB [m4]> SELECT SIGN(0.2);

+-----------+

| SIGN(0.2) |

+-----------+

| 1 |

+-----------+

二、聚合函数

SC表内容

MariaDB [m4]> select * from SC;

+------+------+-------+

| SId | CId | score |

+------+------+-------+

| 01 | 01 | 80.0 |

| 01 | 02 | 90.0 |

| 01 | 03 | 99.0 |

| 02 | 01 | 70.0 |

| 02 | 02 | 60.0 |

| 02 | 03 | 80.0 |

| 03 | 01 | 80.0 |

| 03 | 02 | 80.0 |

| 03 | 03 | 80.0 |

| 04 | 01 | 50.0 |

| 04 | 02 | 30.0 |

| 04 | 03 | 20.0 |

| 05 | 01 | 76.0 |

| 05 | 02 | 87.0 |

| 06 | 01 | 31.0 |

| 06 | 03 | 34.0 |

| 07 | 02 | 89.0 |

| 07 | 03 | 98.0 |

1、AVG(col)返回指定列的平均值

MariaDB [m4]> select avg(score) from SC;

+------------+

| avg(score) |

+------------+

| 68.55556 |

+------------+

2、COUNT(col)返回指定列中非NULL值的个数

MariaDB [m4]> select count(score) from SC;

+--------------+

| count(score) |

+--------------+

| 18 |

+--------------+

3、MIN(col) 返回指定列的最小值

MariaDB [m4]> select min(score) from SC;

+------------+

| min(score) |

+------------+

| 20.0 |

+------------+

4、MAX(col) 返回指定列的最大值

MariaDB [m4]> select max(score) from SC;

+------------+

| max(score) |

+------------+

| 99.0 |

+------------+

5、SUM(col) 返回指定列的所有值之和

MariaDB [m4]> select sum(score) from SC;

+------------+

| sum(score) |

+------------+

| 1234.0 |

+------------+

6、GROUP_CONCAT(col) 返回由属于一组的列值连接组合而成的结果

MariaDB [m4]> select group_concat(score) from SC;

+-------------------------------------------------------------------------------------------+

| group_concat(score) |

+-------------------------------------------------------------------------------------------+

| 80.0,90.0,99.0,70.0,60.0,80.0,80.0,80.0,80.0,50.0,30.0,20.0,76.0,87.0,31.0,34.0,89.0,98.0 |

+-------------------------------------------------------------------------------------------+

三、字符串函数

1、ASCII(char) 返回一个字符的ASCII码值

MariaDB [m4]> select ASCII(2);

+----------+

| ASCII(2) |

+----------+

| 50 |

+----------+

2、BIT_LENGTH(str)返回字符串的比特长度

MariaDB [m4]> select BIT_LENGTH('aa');

+------------------+

| BIT_LENGTH('aa') |

+------------------+

| 16 |

+------------------+

3、 CONCAT(s1,s2...sn) 将s1...sn拼成字符串

MariaDB [m4]> SELECT CONCAT(1,3,2);

+---------------+

| CONCAT(1,3,2) |

+---------------+

| 132 |

+---------------+

4、CONCAT_WS(sep,s1,s2...sn)将s1...sn用符号sep拼成字符串

MariaDB [m4]> SELECT CONCAT_WS('x',2,3,5);

+----------------------+

| CONCAT_WS('x',2,3,5) |

+----------------------+

| 2x3x5 |

+----------------------+

5、INSERT(str,x,y,instr) 将字符串str从第x位置开始,y个字符长的子串替换成字符串instr

MariaDB [m4]> select INSERT('dsadsadddd',1,3,'xxx');(将字符串'dsadsadddd'中的从1到3的字符串替换成xxx)

+--------------------------------+

| INSERT('dsadsadddd',1,3,'xxx') |

+--------------------------------+

| xxxdsadddd |

+--------------------------------+

#全部替换

MariaDB [m4]> select INSERT('dsadsadddd',1,-1,'xxx');

+---------------------------------+

| INSERT('dsadsadddd',1,-1,'xxx') |

+---------------------------------+

| xxx |

+---------------------------------+

6、 LCASE(str)/LOWER(str) (大写改成小写)

MariaDB [m4]> select lcase('SA');

+-------------+

| lcase('SA') |

+-------------+

| sa |

+-------------+

MariaDB [m4]> select lower('SAdas');

+----------------+

| lower('SAdas') |

+----------------+

| sadas |

+----------------+

7、UPPER(str) 全变大写

MariaDB [m4]> select upper('SAdas');

+----------------+

| upper('SAdas') |

+----------------+

| SADAS |

+----------------+

8、 LEFT(str,x) /RIGHT(str,x) 返回str中最左/右边的x个字符

MariaDB [m4]> select left('SAdas',2);(最左边)

+-----------------+

| left('SAdas',2) |

+-----------------+

| SA |

+-----------------+

MariaDB [m4]> select right('SAdas',2);(右边)

+------------------+

| right('SAdas',2) |

+------------------+

| as |

+------------------+

9、LENGTH(x) 返回x的中的字符数(字符串长度)

MariaDB [m4]> select length('sadsa');

+-----------------+

| length('sadsa') |

+-----------------+

| 5 |

+-----------------+

10、LTRIM(str)/RTRIM(str) 从字符串str中切掉开头的空格

MariaDB [m4]> select ltrim(' dasd ');

+----------------------+

| ltrim(' dasd ') |

+----------------------+

| dasd |

+----------------------+

11、REPLACE(str,srchstr,rplcstr) 返回str中用srchstr替换成rplcstr的结果

MariaDB [m4]> select replace('dsadadssaqwwwwwwqq','qq','**');

+-----------------------------------------+

| replace('dsadadssaqwwwwwwqq','qq','**') |

+-----------------------------------------+

| dsadadssaqwwwwww** |

+-----------------------------------------+

12、 REVERSE(str) 返回字符串str颠倒后的结果

MariaDB [m4]> select reverse('123456abc');

+----------------------+

| reverse('123456abc') |

+----------------------+

| cba654321 |

+----------------------+

13、 STRCMP(str1,str2) 比较str1和str2(一样返回0,不同返回-1)

MariaDB [m4]> select strcmp('1a','1a');

+-------------------+

| strcmp('1a','1a') |

+-------------------+

| 0 |

+-------------------+

1 row in set (0.00 sec)

MariaDB [m4]> select strcmp('2a','1a');

+-------------------+

| strcmp('2a','1a') |

+-------------------+

| 1 |

+-------------------+

四、时间函数

1、CURDATE()或CURRENT_DATE() 返回当前的日期(年月日)

MariaDB [m4]> select curdate();

+------------+

| curdate() |

+------------+

| 2018-11-27 |

+------------+

1 row in set (0.02 sec)

MariaDB [m4]> select CURRENT_DATE();

+----------------+

| CURRENT_DATE() |

+----------------+

| 2018-11-27 |

+----------------+

2、 CURTIME()或CURRENT_TIME() 返回当前的时间(时分秒)

MariaDB [m4]> select CURTIME();

+-----------+

| CURTIME() |

+-----------+

| 10:29:54 |

+-----------+

1 row in set (0.01 sec)

MariaDB [m4]> select CURRENT_TIME();

+----------------+

| CURRENT_TIME() |

+----------------+

| 10:30:06 |

+----------------+

3、DATE_ADD(date,INTERVAL int keyword) 返回日期date加上间隔时间int的结果(int必须按照关键字进行格式化)

年:year

月:month

日:day

时:hour

分钟:minute

秒:second

#输出当前时间减去3小时后的时间

MariaDB [m4]> select date_add('2018-11-27 10:21:22',interval -3 hour);

+--------------------------------------------------+

| date_add('2018-11-27 10:21:22',interval -3 hour) |

+--------------------------------------------------+

| 2018-11-27 07:21:22 |

+--------------------------------------------------+

4、DATE_FORMAT(date,fmt) 依照指定的fmt格式格式化日期date值

MariaDB [m4]> select DATE_FORMAT('2018-11-27 07:21:22','%Y+%m=%d');

+-----------------------------------------------+

| DATE_FORMAT('2018-11-27 07:21:22','%Y+%m=%d') |

+-----------------------------------------------+

| 2018+11=27 |

+-----------------------------------------------+

五、加密函数

1、AES_ENCRYPT(str,key) 返回用密钥key对字符串str利用高级加密标准算法加密后的结果,调用AES_ENCRYPT的结果是一个二进制字符串,以BLOB类型存储

MariaDB [m4]> SELECT AES_ENCRYPT('root','key');

+---------------------------+

| AES_ENCRYPT('root','key') |

+---------------------------+

|

̐ᇸ񎘧i |

+---------------------------+

2、AES_DECRYPT(str,key) 返回用密钥key对字符串str利用高级加密标准算法解密后的结果

3、DECODE(str,key) 使用key作为密钥解密加密字符串str

4、 ENCRYPT(str,salt) 使用UNIX crypt()函数,用关键词salt(一个可以惟一确定口令的字符串,就像钥匙一样)加密字符串str

MariaDB [m4]> SELECT ENCRYPT('root','salt');

+------------------------+

| ENCRYPT('root','salt') |

+------------------------+

| saFKJij3eLACw |

+------------------------+

5、ENCODE(str,key) 使用key作为密钥加密字符串str,调用ENCODE()的结果是一个二进制字符串,它以BLOB类型存储

MariaDB [m4]> SELECT ENCODE('xufeng','key');

+------------------------+

| ENCODE('xufeng','key') |

+------------------------+

| В |

+------------------------+

6、MD5() 计算字符串str的MD5校验和(常用)

MariaDB [m4]> select md5('a');

+----------------------------------+

| md5('a') |

+----------------------------------+

| 0cc175b9c0f1b6a831c399e269772661 |

+----------------------------------+

7、PASSWORD(str) 返回字符串str的加密版本,这个加密过程是不可逆转的,和UNIX密码加密过程使用不同的算法。(常用)

MariaDB [m4]> select password('a');

+-------------------------------------------+

| password('a') |

+-------------------------------------------+

| *667F407DE7C6AD07358FA38DAED7828A72014B4E |

+-------------------------------------------+

8、SHA() 计算字符串str的安全散列算法(SHA)校验和(常用)

MariaDB [m4]> select sha('a');

+------------------------------------------+

| sha('a') |

+------------------------------------------+

| 86f7e437faa5a7fce15d1ddcb9eaeaea377667b8 |

+------------------------------------------+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值