1、字符函数
CONCAT() 连接字符
mysql> select concat('a','b','c');
+---------------------+
| concat('a','b','c') |
+---------------------+
| abc |
+---------------------+
1 row in set (0.00 sec)
CONCAT_WS() 用指定的分隔符连接
mysql> select concat_ws('-','a','b','c'); +----------------------------+ | concat_ws('-','a','b','c') | +----------------------------+ | a-b-c | +----------------------------+
FORMAT() 数字格式化
mysql> select format(1234.567,2); +--------------------+ | format(1234.567,2) | +--------------------+ | 1,234.57 | +--------------------+
LOWER() 字母转化为小写
mysql> select lower('ASDFGH'); +-----------------+ | lower('ASDFGH') | +-----------------+ | asdfgh | +-----------------+
UPPER() 字母转化为大写
mysql> select upper('asdfgh'); +-----------------+ | upper('asdfgh') | +-----------------+ | ASDFGH | +-----------------+
LEFT() 获取左侧字符
mysql> select left('asdfgh',3); +------------------+ | left('asdfgh',3) | +------------------+ | asd | +------------------+
RIGHT() 获取右侧字符
+-------------------+ | right('asdfgh',3) | +-------------------+ | fgh | +-------------------+
LENGTH() 获取字符长度
mysql> select length('asdfgh'); +------------------+ | length('asdfgh') | +------------------+ | 6 | +------------------+
LTRIM() 删除前导空格
+------------------+ | ltrim(' china') | +------------------+ | china | +------------------+
RTRIM() 删除后导空格
+----------------------+ | rtrim(' china ') | +----------------------+ | china | +----------------------+
TRIM() 删除前导和后导空格或指定字符
mysql> select trim(' china '); +---------------------+ | trim(' china ') | +---------------------+ | china | +---------------------+
mysql> select trim(leading'a' from 'aaaaab'); +--------------------------------+ | trim(leading'a' from 'aaaaab') | +--------------------------------+ | b | +--------------------------------+
mysql> select trim(trailing 'a' from 'baaaaa'); +----------------------------------+ | trim(trailing 'a' from 'baaaaa') | +----------------------------------+ | b | +----------------------------------+
REPLACE() 字符替换
mysql> select replace('aaaab','a','b'); +--------------------------+ | replace('aaaab','a','b') | +--------------------------+ | bbbbb | +--------------------------+
SUBSTRING() 截取字符
mysql> select substring('china',3); +----------------------+ | substring('china',3) | +----------------------+ | ina | +----------------------+
[NOT] LIKE() 模式匹配
2、数值运算与函数
+、-、*、/ 就不多说了
CEIL() 进一取整
mysql> select ceil(12345.34); +----------------+ | ceil(12345.34) | +----------------+ | 12346 | +----------------+
FLOOR() 舍一取整
mysql> select floor(12345.34); +-----------------+ | floor(12345.34) | +-----------------+ | 12345 | +-----------------+
MOD 取余数,相当于%
mysql> select 9 mod 3; +---------+ | 9 mod 3 | +---------+ | 0 | +---------+
DIV 整数除法,相当于/
mysql> select 9 div 3; +---------+ | 9 div 3 | +---------+ | 3 | +---------+
POWER() 幂远算
mysql> select power(2,3); +------------+ | power(2,3) | +------------+ | 8 | +------------+
ROUND() 四舍五入
mysql> select round(12345,345); +------------------+ | round(12345,345) | +------------------+ | 12345 | +------------------+
TRUNCATE() 数字截取
mysql> select truncate(12345.3456,-1); +-------------------------+ | truncate(12345.3456,-1) | +-------------------------+ | 12340 | +-------------------------+
3、比较运算符函数
[NOT] BETWEEN .. AND .. 判断是否在某区间
[NOT] .. IN ..判断是否包括在某数组中
IS [NOT] NULL 判断是否为空
4、日期时间函数
NOW() 显示当前日期时间
CURDATE() 当前日期
CURTIME() 当前时间
DATE_ADD() 日期时间变更(可增减)
DATEDIEF() 日期时间的时间差
DATE_FORMAT() 日期时间格式化
5、信息函数
CONNECTION_ID() 显示连接ID
DATEBASE() 当前打开的数据库
LAST_INSERT_ID() 显示最后插入的记录
USER() 显示当前用户
VERSION() 显示版本号
6、聚合函数
AVG() 平均值
COUNT() 计数
MAX() 最大值
MIN() 最小值
SUM() 求和
7、自定义函数
CREATE FUNCTION fun_name
RETURNS 返回值的类型
routine_body
例:CREATE FUNCTION adduser(username VARCHAR(20))
RETURNS INT UNSIGNED
BEGIN
INSERT test(username) VALUES(username)
RETURN
LAST_INSERT_ID()
END
DORP fun_name(); 删除自定义函数
DELIMITER 符号; 指定‘符号’为分割符