文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

MySQL 常用函数

2024-04-02 19:55

关注

1.字符串类函数

(1)CONCAT(s1,s2,s3,.....) 连接字符串

 例如:SELECT CONCAT('1','2') FROM DUAL;

 输出:12

(2)LOWER(s) 将字符串全部变成小写

 例如:SELECT LOWER('ABC') FROM DUAL;

 输出:abc

(3)UPPER(s) 将字符串全部变成大写

 例如:SELECT UPPER('abc') FROM DUAL;

   输出:ABC

(4)LTRIM(s) 去除字符串左侧的空格

 例如:select LTRIM('           abc') from dual;

 输出:abc

(5)RTRIM(s) 去除字符串右侧的空格

例如:select LTRIM('abc ') from dual;

输出:abc

(6)TRIM(s) 去除字符串左右两侧的空格

例如:select LTRIM( 'abc ') from dual;

输出:abc

(7)LPAD(s,len,pad) 用字符串pad来对s左侧进行填充,直至长度达到len

例如:SELECT LPAD('1',5,'0') FROM DUAL;

输出:00001

(8)RPAD(s,len,pad) 用字符串pad来对s右侧进行填充,直至长度达到len

例如:SELECT RPAD('1',5,'0') FROM DUAL;

输出:10000

(9)REPEAT(s,x) 将s重复x后返回

例如:select REPEAT('a',5) from dual;

输出:aaaaa

(10)REPLACE(s,form,target) 将字符串中包含form的字符替换成target

例如:SELECT REPLACE('abc','a','A') FROM DUAL;

输出:Abc

(11)STRCMP(s1,s2) 比较s1与s2,如果相同返回0,s2大于s1返回1,s2小于s1返回-1

例如:SELECT STRCMP('a','b'),STRCMP('a','a'),STRCMP('b','a') FROM DUAL;

输出:-1       0       1

(12)LEFT(s,x) 返回字符串左侧x个字符

例如:SELECT LEFT('abc',2) FROM DUAL;

输出:ab

(13)RIGHT(s,x) 返回字符串右侧x个字符

例如:SELECT RIGHT('abc',2) FROM DUAL;

输出:bc

(14)MID(s,x,y) 返回字符串x位置开始y个字符

例如:SELECT MID('abcd',3,2) FROM DUAL;

输出:cd

(15)SUBSTRING(s,x,y) 返回字符串x位子开始y个字符,与MID基本一样

例如:SELECT SUBSTRING('abcd',3,2) FROM DUAL;

输出:cd

(16)INSERT(s,x,y,form) 将字符串x位置开始y个字符替换成form字符

例如:SELECT INSERT('abcd',3,2,'FF') FROM DUAL;

输出:abFF

(17)LENGTH(s) 返回s的长度

例如:SELECT LENGTH('123') FROM DUAL;

输出:3

(18)REVERSE(s) 返回s颠倒顺序

例如:SELECT REVERSE('abc') FROM DUAL;

输出:cba

2.数字类函数

(1)CEIL(n) 返回大于n最大的整数

例如:SELECT CEIL(100.1) FROM DUAL;

输出:101

(2)FLOOR(n) 返回小于n最大的整数

例如:SELECT CEIL(100.1) FROM DUAL;

输出:100

(3)RAND() 返回0到1的随机数

例如:SELECT RAND() FROM DUAL;

输出:0.13824381133377908

(4)ROUND(n,y) 将n四舍五入保留y位小数

例如:SELECT ROUND(10.127,2) FROM DUAL;

输出:10.13

(5)TRUNCATE(n,y) 将n保留y位小数

例如:SELECT TRUNCATE(10.1277777,2) FROM DUAL;

输出:10.12

3.日期类函数

(1)NOW() 返回当前日期时间

例如:SELECT NOW() FROM DUAL;

输出:2017-06-06 20:44:58

(2)CURDATE() 返回当前日期

例如:SELECT CURDATE() FROM DUAL;

输出:2017-06-06

(3)CURTIME() 返回当前时间

例如:select CURTIME() from dual;

输出:20:46:15

(4)WEEK(date) 返回日期为一年中的周

例如:SELECT WEEK('2017-06-06') FROM DUAL;

输出:23

(5)YEAR(date) 返回日期中的年

例如:SELECT YEAR('2017-06-06') FROM DUAL;

输出:2017

(6)DATE_FORMAT(s,pattern) 格式化日期

例如:SELECT DATE_FORMAT(NOW(),'%Y%m%d') FROM DUAL;

输出:20170606

格式化参数:

%y  表示两位数字年份。例如:(2017返回17)

%Y 表示四位数字年份。例如:(2017返回2017)

%m 表示两位数字月份。例如:(01,02,....,12)

%c  表示数字的月份。例如:(1,2,3,4.....,12)

%M 表示月明,英文名称。

%d  表示两位数字的天数。例如:(01,02,03,.....31)

%e 表示数字的天数。例如(1,2,3,4,.....,31)

%H 表示两位数字的小时数,24小时制。例如:(01,02,.....,24)

%i  表示两位数字的分钟数。例如:(01,02...,60)

%S %s 表示两位数字的秒数。例如:(01,02...,60)

(7)DATEDIFF(d1,d2) 返回d1与d2相差的天数

例如:SELECT DATEDIFF('2017-06-07','2017-06-06') FROM DUAL;

输出:1

(8)DATE_ADD(d,INTERVAL y type) 给日期加上指定类型y值

例如:select DATE_ADD('2017-06-07',Interval 1 month) from dual;

输出:2017-07-07

Type参数:

YEAR 表示年

MONTH 表示月

DAY 表示日

HOUR 表示小时

MINUTE 表示分钟

SECOND 表示秒

(9)TO_DAYS(date) 返回date从0年以来的天数。

4.流程控制类函数

(1)IF(v,t,f) 如果v为真返回t,否则返回f

例如:SELECT IF(1!=1,'1','2') FROM DUAL;

输出:2

(2)IFNULL(v1,v2) 如果v1不为null返回v1,否则返回v2

例如:SELECT IFNULL(NULL,'1') FROM DUAL;

输出:1

(3)CASE WHEN v then v1 end 判断如果v为真返回v1

例如:SELECT CASE WHEN 1=1 THEN 'true' ELSE 'false' END FROM DUAL;

输出:true

例如:SELECT CASE WHEN 1!=1 THEN 'true' WHEN 2=2 THEN 'test' ELSE 'false' END FROM DUAL;

输出:test

5.转换类函数

(1)CAST(v as type) 转换数据类型。

Type参数:

字符型:CHAR

日期:DATE     

时间:TIME

日期时间型:DATETIME

浮点数:DECIMAL

整数:SIGNED

无符号整数:UNSIGNED

6.数据库类函数

(1)DATABASE() 返回当前数据库名称

(2)VERSION() 返回当前数据库版本

(3)INET_ATON(ip) 返回数字表示的IP

(4)INET_NTOA(num) 将数字表示的IP转换为IP

(5)PASSWORD(s) 返回加密版本

(6)MD5(s) 返回MD5加密值


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯