mysql零距离接触-运算符与函数

一,字符函数

函数

说明

举例

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');修改当前用户密码

转载于:https://my.oschina.net/u/3152390/blog/810750

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值