一,字符函数
函数 | 说明 | 举例 |
CONCAT | 字符连接 | SELECT CONCAT('IMOOC','-','MySQL'); |
CONCAT_WS | 使用指定的分隔符进行字符连接 | SELECT CONCAT_WS('%','asdsa','asdasda'); //第一个是指定的分隔符 |
FORMAT() | 数字格式化 | SELECT FORMAT(123560.75,2); 123,560.75 |
LOWER() /UPPER() | 转化小写/大写 | SELECT UPPER('mysql'); |
LEFT() /RIGHT | 获取左侧字符/右侧 | SELECT LEFT ('MYSQL',2); MY |
LENGTH() | 取得字符串长度 | LENGTH('MYSQL’); |
TRIM()/LTRIM()/RTRIM() | 删除前导、后续空格或者指定字符 | SELECT TRIM(' MySQL '); SELECT TRIM(leading '?' from '??MYSQL???'); //删除前导? SELECT TRIM(trailing '?' from '??MYSQL???'); //删除后续? SELECT TRIM(both '?' from '??MYSQL???'); //前后均删除,但不能删除中间的? |
REPLACE() | 替换 | SELECT REPLACE('MY???SQL','?',''); //将问号换成空白,即去掉? SELECT REPLACE('MY???SQL','?','~~'); //可以将n个?换成m个组合符号 |
SUBSTRING() | 字符串截取 | SELECT SUBSTRING('mYSQL',1,2); //从字符串中的第一个位置开始截取2个字符mY SELECT SUBSTRING('mYSQL',3); //SQL 从第3的位置开始截取到结束 SELECT SUBSTRING('mYSQL',-2); //QL 从倒数第2位开始截取到结束 |
[NOT] LIKE | 模式匹配 百分号%代表任意个字符; 下划线_代表任意一个字符 | SELECT 'MySQL' LIKE 'M%'; first_name tom% last_name 123 SELECT * FROM test WHERE first_name LIKE '%o%'; SELECT * FROM test WHERE first_name LIKE '%1%%' ESCAPE '1'; // 查找包含% 符号的信息 |
二,数值运算符和函数
CEIL()--进一取正
FLOOR()--舍一取正 DIV--整数除法 MOD --取余 POWER() --幂运算 ROUND() --取余(四舍五入) TRUNCATE() --截断(不四舍五入) 例: CEIL(3.01) ==>4 /*有n.xx 都是n+1 进一取整 向上取整 FLOOR(3.99) ==>3 /*取n.xx 都是n 舍一取整 向下取整 SELECT 3 DIV 4 ==> 0 /*整数除法 SELECT 3/4 ==>0.75 /*除法 SELECT 21 MOD 2 ==>1 /*取余数(取模)整数,小数都可以 SELECT 21 % 2 ==>1 /*取余数(取模)整数,小数都可以 SELECT POWER(3,4) ==>81 /*3的4次方 幂运算 SELECT ROUND(3.1415926,4) ==>3.142 /*四舍五入 SELECT TRUNCATE(123.89,1) ==>123.8 /*截取小数点后的位置 SELECT TRUNCATE(123.89,0) ==>123 /*截取小数点后的位置,0位为整数部分 SELECT TRUNCATE(123.89,-1) ==>120 /*截取-1,从个位起去掉后面的数值替换为0三,比较运算符和函数
1、[NOT]BETWEEN...AND...[不]在范围之内,结果返回1或0。例如:15 BETWEEN 10 AND 16:1
2、[NOT]IN()列出值选项。例如SELECT 10 IN(5,10,25):1 3、IS [NOT] NULL:只有NULL IS [NOT] NULL返回1,其他情况(包括'',0)都返回0四,日期时间函数
函数 | 说明 | 举例 |
NOW() | 当前日期和时间 |
|
CURDATE() | 当前日期 |
|
CURTIME() | 当前时间 |
|
DATE_ADD() | 日期编号 | SELECT DATE_ADD('2014-3-12',INTERVAL 365 DAY); ==>2015-3-12 /*在原有给定的时间上增加365天 |
DATEDIFF | 日期差 | SELECT DATEDIFF('2014-1-1','2015-1-1') ==> -365 /*时间差值计算 单位为日 前面时间减去后面时间 |
DATE_FORMAT | 日期格式化 | SELECT DATE_FORMAT('2014-3-2','%m/%d/%d'); ==> 03/02/2014 |
五,信息函数
(1)CONNECTION_ID(); // 连接ID
mysql> SELECT CONNECTION_ID(); (2)SELECT DATABASE(); // 当前数据库 (3)LAST_INSERT_ID(); // 最后句插入记录的 ID 号,如果是一次insert中插入的是多条记录,得到的是多条中的第一条(而不是最后一条!) (4)VERSION(); // 版本的信息 (5)USER(); // 当前用户 SELECT USER();六,聚合函数
聚合函数只有一个返回值:
AVG() 平均值 COUNT() 计数 MAX() 最大值 MIN() 最小值 SUM() 求和七,加密函数
md5();加密数据;SELECT MD5(‘admin’);web页面
password();加密本地密码,修改当前用户密码; set password = password('admin');修改当前用户密码