------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 |
+-------------------------------------------+