4月22日 常用函数
一、數(shù)學(xué)函數(shù)
數(shù)學(xué)函數(shù)主要用于處理數(shù)字,包括整型、浮點(diǎn)數(shù)等。
ABS(x)?
返回x的絕對值
SELECT ABS(-1) -- 返回1
CEIL(x),CEILING(x)?
返回大于或等于x的最小整數(shù)
SELECT CEIL(1.5) -- 返回2
FLOOR(x)?
返回小于或等于x的最大整數(shù)
SELECT FLOOR(1.5) -- 返回1
RAND()?
返回0->1的隨機(jī)數(shù)
SELECT RAND() --0.93099315644334
RAND(x)?
返回0->1的隨機(jī)數(shù),x值相同時(shí)返回的隨機(jī)數(shù)相同
SELECT RAND(2) --1.5865798029924
PI()?
返回圓周率(3.141593)
SELECT PI() --3.141593
TRUNCATE(x,y)?
返回?cái)?shù)值x保留到小數(shù)點(diǎn)后y位的值(與ROUND最大的區(qū)別是不會進(jìn)行四舍五入)
SELECT TRUNCATE(1.23456,3) -- 1.234
ROUND(x,y)?
保留x小數(shù)點(diǎn)后y位的值,但截?cái)鄷r(shí)要進(jìn)行四舍五入
SELECT ROUND(1.23456,3) -- 1.235
POW(x,y).POWER(x,y)?
返回x的y次方
SELECT POW(2,3) -- 8
SQRT(x)?
返回x的平方根
SELECT SQRT(25) -- 5
EXP(x)?
返回e的x次方
SELECT EXP(3) -- 20.085536923188
MOD(x,y)?
返回x除以y以后的余數(shù)
SELECT MOD(5,2) -- 1
?
二、字符串函數(shù)
字符串函數(shù)是MySQL中最常用的一類函數(shù),字符串函數(shù)主要用于處理表中的字符串。
函數(shù)?說明
CHAR_LENGTH(s)?
返回字符串s的字符數(shù)
SELECT CHAR_LENGTH('你好123') -- 5
CONCAT(s1,s2,...)?
將字符串s1,s2等多個字符串合并為一個字符串
SELECT CONCAT('12','34') -- 1234
CONCAT_WS(x,s1,s2,...)?
同CONCAT(s1,s2,...)函數(shù),但是每個字符串直接要加上x
SELECT CONCAT_WS('@','12','34') -- 12@34
INSERT(s1,x,len,s2)?
將字符串s2替換s1的x位置開始長度為len的字符串
SELECT INSERT('12345',1,3,'abc') -- abc45
UPPER(s),UCAASE(S)?
將字符串s的所有字母變成大寫字母
SELECT UPPER('abc') -- ABC
LOWER(s),LCASE(s)?
將字符串s的所有字母變成小寫字母
SELECT LOWER('ABC') -- abc
LEFT(s,n)?
返回字符串s的前n個字符
SELECT LEFT('abcde',2) -- ab
RIGHT(s,n)?
返回字符串s的后n個字符
SELECT RIGHT('abcde',2) -- de
LTRIM(s)?去掉字符串s開始處的空格
RTRIM(s)?去掉字符串s結(jié)尾處的空格
TRIM(s)?去掉字符串s開始和結(jié)尾處的空格
SELECT TRIM('@' FROM '@@abc@@') -- abc
REPEAT(s,n)?
將字符串s重復(fù)n次
SELECT REPEAT('ab',3) -- ababab
SPACE(n)?返回n個空格
REPLACE(s,s1,s2)?
將字符串s2替代字符串s中的字符串s1
SELECT REPLACE('abca','a','x') --xbcx
STRCMP(s1,s2)?比較字符串s1和s2
SUBSTRING(s,n,len)?獲取從字符串s中的第n個位置開始長度為len的字符串
LOCATE(s1,s),POSITION(s1 IN s)?
從字符串s中獲取s1的開始位置
SELECT LOCATE('b', 'abc') -- 2
REVERSE(s)?
將字符串s的順序反過來
SELECT REVERSE('abc') -- cba
FIELD(s,s1,s2...)?
返回第一個與字符串s匹配的字符串位置
SELECT FIELD('c','a','b','c') -- 3
?
三、日期時(shí)間函數(shù)
MySQL的日期和時(shí)間函數(shù)主要用于處理日期時(shí)間。
函數(shù)?說明
CURDATE(),CURRENT_DATE()?
返回當(dāng)前日期
SELECT CURDATE()
->2014-12-17
CURTIME(),CURRENT_TIME?
返回當(dāng)前時(shí)間
SELECT CURTIME()
->15:59:02
NOW(),CURRENT_TIMESTAMP(),LOCALTIME(),
SYSDATE(),LOCALTIMESTAMP()
返回當(dāng)前日期和時(shí)間
SELECT NOW()
->2014-12-17 15:59:02
YEAR(d),
MONTH(d)
DAY(d)
返回日期d中的月份值,1->12
SELECT MONTH('2011-11-11 11:11:11')
->11
MONTHNAME(d)?
返回日期當(dāng)中的月份名稱,如Janyary
SELECT MONTHNAME('2011-11-11 11:11:11')
->November
DAYNAME(d)?
返回日期d是星期幾,如Monday,Tuesday
SELECT DAYNAME('2011-11-11 11:11:11')
->Friday
DAYOFWEEK(d)?
日期d今天是星期幾,1星期日,2星期一
SELECT DAYOFWEEK('2011-11-11 11:11:11')
->6
WEEKDAY(d)?
日期d今天是星期幾,
?0表示星期一,1表示星期二
WEEK(d),WEEKOFYEAR(d)?
計(jì)算日期d是本年的第幾個星期,范圍是0->53
SELECT WEEK('2011-11-11 11:11:11')
->45
DAYOFYEAR(d)?
計(jì)算日期d是本年的第幾天
SELECT DAYOFYEAR('2011-11-11 11:11:11')
->315
DAYOFMONTH(d)?
計(jì)算日期d是本月的第幾天
SELECT DAYOFMONTH('2011-11-11 11:11:11')
->11
QUARTER(d)?
返回日期d是第幾季節(jié),返回1->4
SELECT QUARTER('2011-11-11 11:11:11')
->4
HOUR(t)?
返回t中的小時(shí)值
SELECT HOUR('1:2:3')
->1
MINUTE(t)?
返回t中的分鐘值
SELECT MINUTE('1:2:3')
->2
SECOND(t)?
返回t中的秒鐘值
SELECT SECOND('1:2:3')
->3
?
四、系統(tǒng)信息函數(shù)
系統(tǒng)信息函數(shù)用來查詢MySQL數(shù)據(jù)庫的系統(tǒng)信息。
函數(shù)?作用
VERSION()?
返回?cái)?shù)據(jù)庫的版本號
SELECT VERSION()
->5.0.67-community-nt
CONNECTION_ID() ?返回服務(wù)器的連接數(shù)
DATABASE()、SCHEMA?返回當(dāng)前數(shù)據(jù)庫名
USER()、SYSTEM_USER()
返回當(dāng)前用戶
五、加密函數(shù)
加密函數(shù)是MySQL用來對數(shù)據(jù)進(jìn)行加密的函數(shù)。
1、PASSWORD(str)
該函數(shù)可以對字符串str進(jìn)行加密,一般情況下,PASSWORD(str)用于給用戶的密碼加密。
SELECT PASSWORD('123')
??? ->*23AE809DDACAF96AF0FD78ED04B6A265E05AA257
2、MD5
MD5(str)函數(shù)可以對字符串str進(jìn)行散列,可以用于一些普通的不需要解密的數(shù)據(jù)加密。
SELECT md5('123')
??? ->202cb962ac59075b964b07152d234b70
3、ENCODE(str,pswd_str)與DECODE(crypt_str,pswd_str)
ENCODE函數(shù)可以使用加密密碼pswd_str來加密字符串str,加密結(jié)果是二進(jìn)制數(shù),需要使用BLOB類型的字段保存。該函數(shù)與DECODE是一對,需要同樣的密碼才能夠解密。
SELECT ENCODE('123','xxoo')
??? ->;vx
SELECT DECODE(';vx','xxoo')
??? ->123
insert into login values('lch','alvin',encode('123','xxoo'),'50')
select Name,decode(Password,'xxoo') from login where username='lch'
?
轉(zhuǎn)載于:https://www.cnblogs.com/dongqiaozhi/p/5425441.html
總結(jié)
以上是生活随笔為你收集整理的4月22日 常用函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UML类图简介及类与类之间的关系
- 下一篇: UML图-类和类图