AI智能
改变未来

mysql基础(五)运算符与函数

先建表一张:

CREATE TABLE no5(id INT PRIMARY KEY AUTO_INCREMENT,NAME VARCHAR(10),age TINYINT,money INT,tel CHAR(11));

插入数据:

INSERT INTO no5 VALUES(NULL,\'张三\',30,2000,13565234121),(NULL,\'李四\',23,1000,13814526352),(NULL,\'王五\',40,8000,13913656352),(NULL,\'赵六\',33,8000,1391312345)

对money字段加、减、除、乘、取余

SELECT money,money-500,money+500,money/2,money*2,money%2 FROM no5


查询money大于3000的信息:

SELECT * FROM no5 WHERE money>3000


查询money不等于八千的所有信息:

SELECT * FROM no5 WHERE money<>8000


查询tel不为空的信息:

SELECT * FROM no5 WHERE tel IS NOT NULL


查询money在500至3000之间的信息:

SELECT * FROM no5 WHERE money BETWEEN 500 AND 3000


查看name为张三、赵六的信息:

SELECT * FROM no5 WHERE NAME IN(\'张三\',\'赵六\')


查询name为两个字,并且以李开头的信息:

SELECT * FROM no5 WHERE NAME LIKE \'张_\'


查询tel为138开头,并且数字位数不详的信息:

SELECT * FROM no5 WHERE tel LIKE \'138%\'

查询money大于1000且小于3000的信息:

SELECT * FROM no5 WHERE money>1000 AND money<3000


查询age<30且money=8000的信息:

SELECT * FROM no5 WHERE age<30 OR money=8000

查询年龄不在20至25之间的信息:

SELECT * FROM no5 WHERE age NOT BETWEEN 20 AND 25

e_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dvcmlsYg==,size_16,color_FFFFFF,t_70)

函数:
取大于参数的最大整数:

SELECT CEIL(23.4)

不存在四舍五入

取小于参数的最大整数:

SELECT FLOOR(11.8)

对两组参数四舍五入运算,保留位依次从-2至2:

SELECT ROUND(21.49,-2),ROUND(21.49,-1),ROUND(21.49),ROUND(21.49,1),ROUND(21.49,2),ROUND(88.98,-2),ROUND(88.98,-1),ROUND(88.98),ROUND(88.98,1),ROUND(88.98,2)


截取运算:

SELECT TRUNCATE(21.49,1),TRUNCATE(21.49,2),TRUNCATE(21.49,-1),TRUNCATE(21.49,-2),TRUNCATE(88.98,1),TRUNCATE(88.98,2),TRUNCATE(88.98,-1)


取模运算(效果同取余运算%):

SELECT MOD(15.5,2),15.5 % 2


字符串连接符:

SELECT CONCAT(\'hello\',\'world\'),CONCAT_WS(\'*\',\'hello\',\'world\')


转换大小写函数:

SELECT LOWER(\'Hello World\'),UPPER(\'Hello World\')


取字符串长度:

SELECT LENGTH(\'haha\')


空格删除函数:

SELECT TRIM(\' haha \'),LTRIM(\' haha \'),RTRIM(\' haha \'),LENGTH(TRIM(\' haha \')),LENGTH(LTRIM(\' haha \')),LENGTH(RTRIM(\' haha \'))


注:trim删头尾空格,ltrim删头空格,rtrim删尾空格。
字符串截取:

SELECT SUBSTRING(\'hello world\',5),SUBSTRING(\'hello world\',5,3),SUBSTRING(\'hello world\',-5,5)


语法格式:

substring(str,开始位置,截取长度)

,空格也算长度。
获取指定长度字符:

SELECT LEFT(\' hello world \',5),RIGHT(\' hello world \',5)


一个从左往右,一个从右往左,空格也算长度。

字符串替换函数:

SELECT REPLACE(\'hello world\',\'world\',\'mysql\');


语法格式:

replace(str,被替换字符,替换字符)

数字格式化函数:

SELECT FORMAT(1234.5678,2),FORMAT(1234.5,2),FORMAT(1234.5678,0)


后面是保留位数参数,会进行四舍五入。
查看当前日期、当前时间、当前日期和时间:

SELECT CURDATE(),CURDATE()+0,CURTIME(),CURTIME()+0,NOW(),SYSDATE()


注:

+0能去掉间隔符号

日期增加运算、时间增加运算:

SELECT DATE_ADD(\'2020-06-30\',INTERVAL 15 DAY),ADDDATE(\'2020-06-30\',INTERVAL 2 MONTH),ADDTIME(\'2020-06-30 15:21:45\',\'2:40:16\')

注:date_add等同于adddate

日期减少、时间减少运算:

SELECT DATE_SUB(\'2020-06-30\',INTERVAL 15 DAY),SUBTIME(\'2020-06-30 15:21:45\',\'2:40:16\')


日期间隔、时间间隔、时间格式化:

SELECT DATEDIFF(\'2020-2-01\',\'2015-03-16\'),TIMEDIFF(\'15:21:45\',\'2:40:16\'),DATE_FORMAT(\'2020-06-30\',\'%y/%m/%d\')


format格式化符号如下:

查询信息条数,age平均值、总值、最大值、最小值:

SELECT COUNT(*) AS \'总行数\',AVG(age) AS \'平均年龄\',SUM(age) AS \'总年龄\',MAX(age) AS \'最大年龄\',MIN(age) AS \'最小年龄\' FROM no5

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » mysql基础(五)运算符与函数