博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql零距离接触-运算符与函数
阅读量:5795 次
发布时间:2019-06-18

本文共 2587 字,大约阅读时间需要 8 分钟。

hot3.png

一,字符函数

函数

说明

举例

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

你可能感兴趣的文章
算法和流程图
查看>>
Maven
查看>>
TYVJ P1030 乳草的入侵 Label:跳马问题
查看>>
整数划分问题
查看>>
12C中Profile的使用
查看>>
顶点最短路径(弗洛伊德算法)
查看>>
学习笔记二--《一步一步写嵌入式操作系统--Arm编程方法与实践》
查看>>
web client 调试利器 weinre
查看>>
子类化:增强Edit控件为日期输入控件
查看>>
python的observer模式
查看>>
System.arraycopy() or Arrays.copyOf()
查看>>
CCF 201703-1 分蛋糕
查看>>
11gR2 新特性: Rebootless Restart
查看>>
css 折行
查看>>
Window 消息大全
查看>>
使用js 判断当前运行环境实在浏览器还是在手机
查看>>
Linux笔记---硬盘添加
查看>>
《C++ Primer 4th》读书笔记 序
查看>>
Uva 11542 乘积是平方数
查看>>
LeetCode – Refresh – Binary Tree Iterator
查看>>