【软件测试基础知识】mysql常用函数详解

发布 : 软件测试培训      来源:软件测试干货资料

2021-03-05 13:37:06

1、LENGTH(str):获取长度

select LENGTH('abc123');

查询结果:6

select LENGTH('中公');

查询结果:6

2、CHAR_LENGTH(str):获取字符数

select CHAR_LENGTH('abc123');

查询结果:6

select CHAR_LENGTH('中公');

查询结果:2

3、SUBSTRING(str,pos,len):字符串截取

select SUBSTRING('13500260707',4,2);

注意:pos从1开始,且包含,len:截取长度。

查询结果:00

select SUBSTRING('13500260707',4);

注意:不传len,截取到最后。

查询结果:00260707

select SUBSTRING('13500260707',4,20);

注意:超过总长度,也是截取到最后。

查询结果:00260707

4、REPLACE(str,from_str,to_str):字符串替换

select REPLACE('zhonggong123ujiuye','123','');

查询结果:zhonggongujiuye

select REPLACE('abc123nmabc','abc','QQ');

查询结果:QQ123nmQQ

5、REVERSE(str):字符串反转

select REVERSE('i love you') ;

查询结果:uoy evol i

6、(s1,pos,len,s2):插入指定位置并替换

select ('13211223344',4,4,'****');

注意:pos从1开始,且包含,len:截取长度。

查询结果:132****3344

7、RAND() :返回 0 到 1 的随机数

select RAND();

查询结果:

0.7349283659283746

8、RAND(x) :返回 0 到 1 的随机数,其中x的取值为1-65535,如每次x的取值相同,则返回的随机数也相同

select RAND(7);

查询结果:

0.7439285923573926

select RAND(7);

查询结果:

0.7439285923573926

使用rand()生成一个m-n之间的随机数

Select floor(rand()*(n-m+1)+m)

9、TRIM([remstr FROM] str) :去除两端指定字符串或空格。

去除两端空格:

select TRIM(' ujiuye ujiuye ');

查询结果:ujiuye ujiuye

去除两端指定字符串:

select TRIM('ujiuye' from 'ujiuyeujiuye123123ujiuye');

查询结果:123123

10、LTRIM(str)/RTRIM(str):去除左边/右边空格

去除左边空格:

select LTRIM(' A A ');

查询结果:A A (后面还有空格)

去除右边空格:

select RTRIM(' A A ');

结果: A A

11、MOD(x,y):返回 x 除以 y 以后的余数

SELECT MOD(10,3);

查询结果:

1

另外一种写法:

SELECT 10%3;

查询结果

1

12、IF(expr,v1,v2):如果表达式 expr 成立,返回结果 v1;否则,返回结果 v2

SELECT IF(11 < 2,&#39;正确&#39;,&#39;错误&#39;);

查询结果:错误

SELECT IF(11 > 2,&#39;正确&#39;,&#39;错误&#39;);

查询结果:正确

13、IFNULL(v1,v2):如果 v1 的值不为 NULL,则返回 v1,否则返回 v2。

SELECT IFNULL(null,&#39;空&#39;);

查询结果:空

SELECT IFNULL("我和我亲爱的祖国",&#39;空&#39;);

查询结果:我和我亲爱的祖国

14、ISNULL(expression):判断表达式是否为 NULL

SELECT ISNULL(1);

查询结果:0

SELECT ISNULL(null);

查询结果:1

15、时间函数

#获取当前时间

select CURRENT_TIMESTAMP();

查询结果:2020-07-14 16:54:54

#格式化日期 年月日

select DATE_FORMAT(&#39;2020/10/01&#39;,&#39;%Y-%m-%d %H:%i:%s&#39;);

查询结果:2020-10-01 00:00:00

#取出 年月日

select YEAR(CURRENT_TIMESTAMP());

查询结果:2020

select MONTH(CURRENT_TIMESTAMP());

查询结果:10

select DAY(CURRENT_TIMESTAMP());

查询结果:01

#日期加一天,一月,一年

当前时间:2020-10-01 15:20:17

SELECT ADDDATE(CURRENT_TIMESTAMP(),INTERVAL 1 DAY);

查询结果:2020-10-01 15:20:17

SELECT ADDDATE(CURRENT_TIMESTAMP(),INTERVAL 1 MONTH);

查询结果:2020-11-01 15:20:17

SELECT ADDDATE(CURRENT_TIMESTAMP(),INTERVAL 1 YEAR);

查询结果:2021-10-01 15:20:17

#日期减一天,一月,一年

SELECT ADDDATE(CURRENT_TIMESTAMP(),INTERVAL -1 DAY);

查询结果:2020-10-01 15:20:17

SELECT ADDDATE(CURRENT_TIMESTAMP(),INTERVAL -1 MONTH);

查询结果:2020-09-01 15:20:17

SELECT ADDDATE(CURRENT_TIMESTAMP(),INTERVAL -1 YEAR);

查询结果:2019-10-01 15:20:17

#日期比较

SELECT CURRENT_TIMESTAMP() > ADDDATE(CURRENT_TIMESTAMP(),INTERVAL 1 day);

查询结果:0

SELECT CURRENT_TIMESTAMP() > ADDDATE(CURRENT_TIMESTAMP(),INTERVAL -1 day);

查询结果:1

THE END  

声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。

领取零基础自学IT资源

涉及方向有Java、Web前端、UI设计、软件测试、python等科目,内容包含学习路线、视频、源码等

点击申请领取资料

点击查看资料详情 

收起 


 相关推荐

问题解答专区
返回顶部