MySQL day5---运算符和函数

来源:互联网 发布:淘宝男装店名 编辑:程序博客网 时间:2024/05/20 01:10

------Chapter6------------------------------------------------


1.字符函数

 CONCAT()                          字符连接


eg:

mysql> SELECT CONCAT('imooc','mysql');
+-------------------------+
| CONCAT('imooc','mysql') |
+-------------------------+
| imoocmysql              |


 SELECT CONCAT(firstname,lastname) AS fullname FROM test1;
+----------+
| fullname |
+----------+
| AB       |
| CD       |
| tom%123  |
| NULL     |
+----------+
4 rows in set (0.00 sec)

CONCAT_WS()                  使用指定的分隔符进行字符连接


eg:

SELECT CONCAT_WS('|','A','B','C');
+----------------------------+
| CONCAT_WS('|','A','B','C') |
+----------------------------+
| A|B|C                      |
+----------------------------+
1 row in set (0.00 sec)


FORMAT()                            数字格式化

eg:

SELECT FORMAT(12560.75,1);
+--------------------+
| FORMAT(12560.75,1) |
+--------------------+
| 12,560.8           |
+--------------------+
1 row in set (0.02 sec)

LOWER()                             转换成小写字母


eg:

SELECT LOWER('MySQL');
+----------------+
| LOWER('MySQL') |
+----------------+
| mysql          |
+----------------+
1 row in set (0.00 sec)


UPPER()                              转换成大写字母


LEFT()                                  获取左侧字符

eg:

SELECT LEFT('MYSQL',2);                MY


RIGHT()                                获取右侧字符


LENGTH()                            获取字符串长度

eg:SELECT LENGTH('  MYSQL    ');
+-----------------------+
| LENGTH('  MYSQL    ') |
+-----------------------+
|                    11 |
+-----------------------+
1 row in set (0.00 sec)

LTRIM()                                 删除前导空格

eg:SELECT LENGTH(LTRIM('  MYSQL    '));     9

 SELECT LENGTH(RTRIM('  MYSQL    '));         7

SELECT LENGTH(TRIM('  MYSQL    '));             5


RTRIM()                                删除后导空格

eg:

 SELECT TRIM(LEADING '?' FROM '??MYSQL???');
+-------------------------------------+
| MYSQL???                            |
+-------------------------------------+


mysql> SELECT TRIM(TRAILING '?' FROM '??MYSQL???');

+--------------------------------------+
| ??MYSQL                              |
+--------------------------------------+


mysql> SELECT TRIM(BOTH '?' FROM '??MYSQL???');
+----------------------------------+
| MYSQL                            |
+----------------------------------+


SUBSTRING()                     删除前导和后续空格

SELECT SUBSTRING('MYSQL',1,2);
+------------------------+
| MY                     |
+------------------------+


[NOT] LIKE                           模式匹配


REPLACE()                         字符串替换 

eg:  SELECT REPLACE('??My??SQL???','?','');
+--------------------------------+
| MySQL                          |
+--------------------------------+

 2.数值运算符和函数

CEIL()                        进一取整

DIV                             整数除法

FLOOR()                  舍一取整

MOD                         取余数

POWER()                幂运算

ROUND()                四舍五入

TRUNCATE()         数字截取


3.比较运算符和函数

[NOT] BETWEEN ... AND ...  [不]在范围之内

[NOT] IN()                                [不]在列出值范围内

[NOT] NULL()                          [不]为空    


4.日期时间函数

NOW()                    当前日期和时间

CURDATE()           当前日期

CURTIME()            当前时间


DATE_ADD()         日期变化

eg:

SELECT DATE_ADD('2015-3-12',INTERVAL - 365 DAY);
+------------------------------------------+
| DATE_ADD('2015-3-12',INTERVAL - 365 DAY) |
+------------------------------------------+
| 2014-03-12                               |
+------------------------------------------+



DATEDIFF()           日期差值

eg:

 SELECT DATEDIFF('2011-3-12','2012-3-12');
+-----------------------------------+
| DATEDIFF('2011-3-12','2012-3-12') |
+-----------------------------------+
|                              -366 |
+-----------------------------------+
1 row in set (0.00 sec)


DATE_FORMAT()  日期格式化

eg:

 SELECT DATE_FORMAT('2014-3-12','%m/%d/%Y');
+-------------------------------------+
| DATE_FORMAT('2014-3-12','%m/%d/%Y') |
+-------------------------------------+
| 03/12/2014                          |
+-------------------------------------+
1 row in set (0.00 sec)


5.信息函数

CONNECTION_ID()          连接ID

DATEBASE()                       当前数据库

LAST_INSERT_ID()          最后插入记录的ID号

USER()                               当前用户

VERSION()                         版本信息


6.聚合函数

AVG()                  平均值

COUNT()            计数

MAX()                  最大值

MIN()                   最小值

SUM()                 求和



7.加密函数

MD5()                信息摘要算法

eg:

SELECT MD5('ADMIN');
+----------------------------------+
| MD5('ADMIN')                     |
+----------------------------------+
| 73acd9a5972130b75066c82595a1fae3 |
+----------------------------------+


PASSWORD()  密码算法

eg:SET PASSWORD = PASSWORD('root');



SELECT PASSWORD('ADMIN');

+-------------------------------------------+
| PASSWORD('ADMIN')                         |
+-------------------------------------------+
| *0B0A27832C339662F96E0238AD92FCBCB992A7EA |
+-------------------------------------------+