菜鸟的MySQL学习笔记(四)
MySQL中的运算符和函数:
1、字符函数;
2、数值运算符与函数;
3、比较运算符与函数;
4、日期时间函数;
5、信息函数;
6、聚合函数;
7、加密函数等;
6-1、字符函数:
CONCAT() 字符连接
#SELECT CONCAT(first_name,last_name) AS fullname FROM name_test; 从name表中 连接显示 first last
CONCAT_WS() 使用指定的分隔符进行字符连接
#SELECT CONCAT_WS('|','A','b','C') ; 第一个参数指定分隔符 结果 A|b|C
FORMAT() 数字格式化,返回类型为字符型
#SELECT FORMAT(12560.75,2); 后面的2 指保留几位小数
LOWER() 转换为小写字母
#SELECT LOWER(MySQL); 结果为mysql
UPPER() 转换为大写字母
LEFT() 获取左侧字符
#SELECT LEFT(MySQL,2); 结果为 My
RIGHT() 获取右侧字符
LENGTH() 获取字符串长度
#SELECT LENGTH('My SQL') 结果为6 中间有个空格
LTRIM() 删除前导空格
# SELECT LENGTH(SELECT LTRIM(' MySQL ');) 计算删除前导空格之后的字符长度
RIRIM() 删除后续空格
TRIM() 删除前导和后续空格
#SELECT TRIM(LEADING'?' FROM ‘???mysql???’) 将?替换掉空格 删除前导和后续的? 但中间的?去不掉
SUBSTRING() 字符串截取
#SELECT SUBSTRING('MySQL',1,2) 截取位置第1个,长度为2
#SELECT SUBSTRING('MySQL',3) 截取第3位以及以后的
#SELECT SUBSTRING('MySQL',-1) 截取位置为-1,长度不能为负数
[NOT] LIKE 模式匹配
#SELECT * FROM test WHERE first_name LIKE '%1%%' ESCAPE '1'; 告诉1后面的%不需要作为通配符匹配
REPLACE() 字符串替换
#SELECT REPLACE('???My??SQL???','?','!'); 结果为!!!My!!SQL!!! 将?替换成!,也可以将?替换成空字符串(去空格,去符号)
6-2 数值运算符
CEIL() 进一取整
#SELECT CEIL(3.01) 结果为4
DIV() 整数除法
#SELECT 3 DIV 4 结果为0
#SELECT 3/4 结果为0.75
FLOOR() 舍一取整
#SELECT FLOOR(3.01 ) 结果为3
MOD() 取余数(取模)
#SELECT 5.3 MOD 3; 结果为2.3 等价于 5%3
POWER() 幂运算
#SELECT POWER(3,2); 结果为9
ROUND() 四舍五入
#SELECT ROUND(3.132432); 结果为3
TRUNCATE() 数字截取
#SELECT TRUNCATE(125.89,0) 结果为125 截取不做四舍五入操作
[NOT] BETWEEN ... AND ... (不)在多少与多少之间的范围
[NOT] IN() (不)在列出值的范围内
IS [NOT] NULL (不)是空吗?
6-3日期时期函数
NOW() 当前的日期和时间
CURDATE() 当前的日期
CURTIME() 当前的时间
DATE_ADD() 日期变化
#SELECT DATE_ADD('2015-3-12',INTERVAL -365 DAY); 日期减少365天
#SELECT DATE_ADD('2015-3-12',INTERVAL 3 WEEK); 日期增加3周
DATEDIFF() 日期差值
#SELECT DATEDIFF('2013-3-12','2014-3-12'); 计算日期的差值
DATE_FORMAT() 日期格式化
#SELECT DATE_FORMAT('2013-3-12','%m/%d/%Y'); 把日期格式变为 3/12/2013
6-4 信息函数
CONNECTION_ID() 连接ID
DATEBASE() 当前数据库
LAST_INSERT_ID() 最后插入记录的ID号 多条数据同时插入,只打印第一条
USER() 当前用户
VERSION() 版本信息
6-5 聚合函数
AVG() 平均值
COUNT() 计数
MAX() 最大值
MIN() 最小值
SUM() 求和
6-6 加密函数
MD5() 信息摘要算法
#SELECT MD5('admin')
PASSWORD() 密码计算
#主要用来修改密码 SET PASSWOER=PASSWORD('admin')