MySQL 常用函数


(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
(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(1)NOW() 返回当前日期时间例如:SELECT NOW() FROM DUAL;输出:2017-06-06 20:44:582)CURDATE() 返回当前日期例如:SELECT CURDATE() FROM DUAL;输出:2017-06-063)CURTIME() 返回当前时间例如:select CURTIME() from dual;输出:20:46:154)WEEK(date) 返回日期为一年中的周例如:SELECT WEEK(‘2017-06-06’) FROM DUAL;输出:235)YEAR(date) 返回日期中的年例如:SELECT YEAR(‘2017-06-06’) FROM DUAL;输出:20176)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;输出:18)DATE_ADD(d,INTERVAL y type) 给日期加上指定类型y值例如:select DATE_ADD(‘2017-06-07’,Interval 1 month) from dual;输出:2017-07-07Type参数:YEAR表示年MONTH表示月DAY表示日HOUR表示小时MINUTE表示分钟SECOND表示秒(9)TO_DAYS(date) 返回date从0年以来的天数。(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(1)CAST(v as type) 转换数据类型。Type参数:字符型:CHAR 日期:DATE 时间:TIME日期时间型:DATETIME浮点数:DECIMAL整数:SIGNED无符号整数:UNSIGNED(1)DATABASE() 返回当前数据库名称2)VERSION() 返回当前数据库版本3)INET_ATON(ip) 返回数字表示的IP4)INET_NTOA(num) 将数字表示的IP转换为IP5)PASSWORD(s) 返回加密版本6)MD5(s) 返回MD5加密值

相关推荐: 关于InnoDB存储引擎text和blob类型的优化

我们在数据库优化的时候,看到一些表在设计上使用了text或者blob的字段,如果单表的存储空间达到了近上百G或者大几十G,这种情况再去改变和优化就非常难了为了清楚大字段对性能的影响,我们有必要知道innodb存储引擎的处理方式:1.1 在InnoDB 1.0.…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 06/04 21:50
下一篇 06/04 21:50

相关推荐