mysql学习笔记(三)----函数

摘要:
MySQL函数数学函数名称描述EgABS(X)绝对值SelectABS(-2);CEILING(X)返回不小于X的最小整数,Selectceling(3.5);FLOOR(X)返回小于X的最大整数Selectfloor(3.5);ROUND(X)返回一个接近参数X的整数,并将X的值舍入为Selectround(4.5);Y) 返回接近参数X的整数,

Mysql函数

数学函数

函数名描述Eg
ABS(X)绝对值Select ABS(-2);
PI()圆周率Select PI();
SQRT(X)平方根Select sqrt(X);
MOD(X,Y)求余Select mod(4,3);
CEIL(X)返回不小于X的最小整数Select ceil(3.5);
CEILING(X)返回不小于X的最小整数Select ceiling(3.5);
FLOOR(X)返回小于X的最大整数Select floor(3.5);
RAND(X)返回一个随机浮点数V,0<=V<=1,
若指定一个整数X则它被用作种子值,
用来产生重复的序列
Select rand(),rand(3);
ROUND(X)返回接近与参数X的整数,对X的值进行四舍五入Select round(4.5);
ROUND(X,Y)返回接近与参数X的整数,对X的值进行四舍五入,
结果保留小数点后面指定Y位
Select round(232.36,-1);
TRUNCATE(X,Y)返回接近与参数X的整数,对X的值进行四舍五入,
结果保留小数点后面指定Y位
Select truncate(1.99,1);
SIGN(X)返回X的符号值,X的为负、零、正时返回的结果依次为-1,0,1Select sign(-8);
POW(X,Y)返回X的Y次方的结果值Select pow(2,3);
POWER(X,Y)返回X的Y次方的结果值Select power(2,3);
EXP(X)返回以e为低的3次方Select exp(2);
LOG(X)返回X的自然对数,X相对于基数e的自然对数Select log(3),log(e);
LOG10(10)返回X的基数为10的对数Select Log10(10);
RADIAND(X)将参数X由度数转化为弧度Select radians(180);
DEGREES(X)将参数X由弧度转化为角度Select degrees(pi());
SIN(X)返回X的正弦值,X为弧度值Select sin(30);
ASIN(X)返回X的反正弦值,即正弦为X的值,若X不在-1到1之间,则返回NULLSelect Asin(30);
COS(X)返回X的余弦,X为弧度值Select cos(1);
ACOS(X)返回X的反余弦Select acos(1);
TAN(X)返回X的正切Select tan(0.3);
ATAN(X)返回X的反正切Select tan(1);
COT(X)返回X的余切Select cot(0.3);
Tips
ROUND

ROUND(1.38,1)保留小数点后面1一位,结果四舍五入1.4,Y为负值时,保留小数点左边相应的位数直接保存为0,不进行四舍五入。

ROUND 和 TRUNCATE 的区别

round 先四舍五入,再截取位数。

truncate 先截取位数,再四舍五入。


字符串函数

CHAR_LENGTH(str)
返回字符串字str所包含的字符个数, 一个多字节字符 算作 单字符.
select CHAR_LENGTH('date');
LENGTH(str)
返回字符串str所占的字节数
Select LENGTH("我的");
CONCAT(S1,S2,...)
返回结果为连接参数产生的字符串。

或许有一个或多个参数。如果有任何一个参数为NULL,则返回NULL。

若参数中含有任何一个二进制字符,则结果为一个二进制字符串。
Select concat("My sql",5.5,"asd ");

CONCAT_WS(X,s1,s2,...)
CONCAT_WS 代表 CONCAT with separator,是CONCAT的特殊形式。

第一个参数X是其他参数的分隔符,分隔符的位置放在要连接的两个字符之间。

如果分隔符为NULL,则结果为NULL,函数会忽略任何分隔符参数后的NULL值。
Select CONCAT_WS('-','a','b',null,'c');
INSERT(s1,x,len,s2)
INSERT(s1,x,len,s2)返回字符串s1,其字串起始于x位置和被字符串s2取代的len字符。

如果x超过字符串长度,则返回值为原始字符串。假如len的长度大于其他字符串的长度,则从位置x开始替换。

若任何一个参数为NULL,则返回值NULL。
Select insert('quest',2,4,'what') as col,
	   insert('Uqest',-1,4,'what') as col2,
	   insert('quest',3,100,'wh') as col3;
LOWER(str);
Select LOWER('BEAUTIFUL'),LOWER('Well');
UPPER(str);
Select UPPER('beautful'),UPPER('Well');
Left(s,n)、Right(s,n);
Left(s,n)返回字符串s开始的最左边n个 字符,Righr(s,n)返回字符串s最后开始的n个字符.
Select Left("我好想你,你永远不会知道。",5);

LPAD(s1,len,s2)和RPAD(s1,len,s2)
LPAD(s1,len,s2)返回字符串s1,其左边由字符串s2填充到len长度。假如s1的长度大于len,则返回值被缩短至len字符。

RPAD(s1,len,s2)返回字符串s1,其右边由字符串s2填充到len长度。假如s1的长度大于len,则返回值被缩短至len字符。
Select  LPAD('hello',4,"??"),Lpad("hello",10,"??");

Select RPAD('hello',4,"??"),RPAD("hello",10,"??");
LTRIM(s),RTRIM(s),TRIM(S)
返回字符串S,字符串左侧的空格字符或者右侧的空白字符或者首尾空白字符被删除
Select '(  book   )',CONCAT('(',RTRIM(' book '),')');
TRIM(s1 from s)--删除指定字符串的函数
TRIM(s1 from s)删除字符串s中 两端(两端开始位置) 所有的的子字符串s1。s1为可选项,在未指定情况下,删除空格。
Select TRIM('xy' from 'xyxboxyokxxyxy');
空格函数 SPACE(n) 和替换函数 REPLACE(s,s1,s2)
SPACE(n) 返回一个由 n 个人空格组成的字符串

REPLACE(s,s1,s2)使用字符串s2替换字符串s中所有的s1字符串
Select CONCAT('(',SPACE(6),')'),REPLACE('xxx.baidu.com','x','w');
SUBSTRING(s,n,len)和MID(s,n,len)
SUBSTRING(s,n,len)从字符串s返回一个长度同len的子字符串,起始于位置n。如果n是一个负值,则子串的起始于字符串s结尾的n字符,
即倒数的第n个字符

MID(s,n,len)同上.

如果len小于1 则结果始终为空字符串
Select SUBSTRING("breakfast",5),SUBSTRING("breakfast",5,3),SUBSTRING("lunch",-3),SUBSTRING("lunch",-5,3);
LOCATE(str1,str) 匹配子串开始位置的函数
LOCATE(str1,str),POSITION(str1 IN str),INSTR(str,str1) 三个函数作用相同,返回子字符串str1在字符串str中的开始位置。
Select LOCATE('ball','football'),POSITION('ball' IN 'football'),INSTR ('football','ball');
字符串逆序的函数 REVERSE(s)
REVERSE(s)将字符串s反转
Select REVERSE("HL");
返回指定位置的字符串的函数 ELT(n,s1,s2,s3,...)
如果n=1,则返回s1,依次类推,若n<1或者大于参数的数目,则返回NULL
Select ELT(2,"1","2","3"),ELT(2,"1");

日期和时间函数

%Y年 %m月 %d 日 %H:%i:%s

(未完待续)

免责声明:文章转载自《mysql学习笔记(三)----函数》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇利用Wireshark截取数据包,并对数据包进行解析web自动化多次打开浏览器嫌烦?打开一次浏览器,pytest有个招下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

SQL判断某列中是否包含中文字符、英文字符、纯数字

一、包含中文字符 select * from 表名 where 列名 like '%[吖-座]%' 二、包含英文字符 select * from 表名 where 列名 like '%[a-z]%'  三、包含纯数字 select * from 表名 where 列名 like '%[0-9]%'...

Linux col命令详解

Linux col命令 Linux col命令用于过滤控制字符。 在许多UNIX说明文件里,都有RLF控制字符。当我们运用shell特殊字符">"和">>",把说明文件的内容输出成纯文本文件时,控制字符会变成乱码,col指令则能有效滤除这些控制字符。 用法 col [-bfpx] [-l nline] 参数 -b 过滤掉所有的控制字符,包...

pcre和正则表达式的误点

本文只是关于正则一些容易出错的地方,关于正则的学习,可参考如下两篇文章: 基础正则:https://www.cnblogs.com/f-ck-need-u/p/9621130.html Perl正则:https://www.cnblogs.com/f-ck-need-u/p/9648439.html 1.正则中所有的匹配模式,都应该理解为"匹配了某字符或字符...

ReactNative WebView组件详解

在开发Android的时候,一般我们会有一些加载网页的需求,或者执行一些JavaScript,我们都知道在Android中实现这个功能的控件是WebView,在ReactNative中也有实现此类需求额的组件,它的名字也是WebView。那么今天的这篇文章就来详细说说在ReactNative WebView的使用。本文示例效果图 webview.gif...

七、玩转select条件查询

前言:   电商中:我们想查看某个用户所有的订单,或者想查看某个用户在某个时间段内所有的订单,此时我们需要对订单表数据进行筛选,按照用户、时间进行过滤,得到我们期望的结果。   此时我们需要使用条件查询来对指定表进行操作,我们需要了解sql中的条件查询常见的玩法。 本篇内容 1、查询条件语法 2、条件查询运算符详解(=、<、>、<=、&g...

vue项目中引用spreadjs方法

1.下载插件 2.放到项目文件夹的public目录下面  3.在项目根路径index.html中全局引入Spread插件的JS和CSS <script type="text/javascript" src="<%= BASE_URL %>spreadjs/scripts/gc.spread.sheets.all.13.0.0.min....