MySQL經常使用函數

MySQL經常使用函數數據庫

數學函數:服務器

abs(X):返回X的絕對值
mod(N,M)或%:返回N被M除的餘數
floor(X):返回不大於X的最大整數值
ceiling(X):返回不小於X的最小整數值
round(X) :對參數X四捨五入session

字符串函數:下標從1開始函數

ascii(str):返回字符串str的最左面字符的ASCII代碼值。若是str是空字符串,返回0。若是str是NULL,返回NULL
concat(str1,str2,...):返回來自於參數連結的字符串。若是任何參數是NULL,返回NULL。數字參數被變換爲等價的字符串形式
concat_ws(separator,str1,str2...)以字符串separator爲分隔符,合併多個字符串
length(str):返回字符串str的長度
locate(substr,str):返回子串substr在字符串str第一個出現的位置,若是substr不是在str裏面,返回0
instr(str,substr):返回子串substr在字符串str中的第一個出現的位置,與locate相似
left(str,len):返回字符串str的最左面len個字符
right(str,len):返回字符串str的最右面len個字符
substring(str,pos):從字符串str的第pos個字符開始,返回一個子串
trim(str):返回字符串str,去除先後空格
ltrim(str):返回字符串str,去除前置空格
RTRIM(str):返回字符串str,去除後置空格
replace(str,old,new):返回字符串str,其字符串old的全部出現由字符串new代替
repeat(str,count):返回由重複countTimes次的字符串str組成的一個字符串。若是count <= 0,返回一個空字符串。若是str或count是NULL,返回NULL
reverse(str):顛倒字符順序
insert(str,from,len,newstr):返回字符串str,從第from個字符開始的len個字符由字符串newstr代替編碼

日期和時間函數:加密

dayofweek(date):返回日期date的星期索引(1-7)
weekday(date):返回date的星期索引(0-6)
dayofmonth(date):返回date的月份中的日期(1-31)
dayofyear(date):返回date在一年中的日數(1-366)
month(date):返回date的月份(1-12)
dayname(date):返回date的星期幾的英文(Monday-Sunday)
monthname(date) :返回date的月份英文(January-December)
quarter(date):返回date一年中的季度(1-4)
week(date,first):返回date的週數(0-52),只有一個參數則默認第二個參數爲0,0表明星期天是一週的第一天,1表明週一是一週的第一天
year(date):返回date的年份(1000-9999)
hour(time):返回time的小時(0-23)
minute(time):返回time的分鐘(0-59)
second(time):回來time的秒數(0-59)
date_add(date,INTERVAL expr type) ,進行日期增長的操做,能夠精確到秒(INTERVAL 、 type爲關鍵詞,expr爲數字)
date_sub(date,INTERVAL expr type) ,進行日期減小的操做,能夠精確到秒
curdate():以‘YYYY-MM-DD’或YYYYMMDD格式返回今天日期值,取決於函數在一個字符串仍是數字上下文被使用
curtime():以‘HH:MM:SS’或HHMMSS格式返回當前時間值
now():以‘YYYY-MM-DD HH:MM:SS’或YYYYMMDDHHMMSS格式返回當前的日期和時間code


控制流程函數 :orm

case value when value1 then result1 (when value2 then result2...) else result end
已end結尾,若是沒有ELSE 部分且when後條件都不成立,則返回值爲 NULL排序

if(expr1,expr2,expr3) 
若是 expr1 是true (expr1 不爲 0 且 不爲 NULL),則 IF()的返回值爲expr2; 不然返回值則爲 expr3索引

Strcmp(str1,str2)
若是str1>str2返回1,str1=str2反回0,str1<str2返回-1)
若是字符串相同,strcmp()返回0,若是第一參數根據當前的排序次序小於第二個,返回-1,不然返回1


系統信息函數:

version()函數返回數據庫的版本號
connection_id()函數返回服務器的鏈接數,也就是到如今爲止MySQL服務的鏈接次數
database()和schema()返回當前數據庫名
user()、system_user()、session_user()、current_user()這幾個函數能夠返回當前用戶的名稱
charset(str)函數返回字符串str的字符集,通常狀況這個字符集就是系統的默認字符集
collation(str)函數返回字符串str的字符排列方式
last_insert_id()函數返回最後生成的AUTO_INCREMENT(自增加id)值

加密函數:

password(str)函數能夠對字符串str進行加密,通常用來加密用戶密碼
MD5(str)函數能夠對字符串str進行加密,主要對普通的數據進行加密
encode(str,pswd_str)函數可使用字符串pswd_str來加密字符串str。加密的結果是一個二進制數,必須使用Blog類型的字段來保存它
decode(crypt_str,pswd_str)函數可使用字符串pswd_str來爲crypt_str解密。crypt_str是經過encode(str,pswd_str)加密後的二進制數據,

其它函數:

format(x,n)函數能夠將數字x進行格式化,將x保留到小數點後n位,(必要的時候會進行四捨五入)
ascii(s)返回字符串s的第一個字符的ASCII碼
bin(x)返回x的二進制編碼
hex(x)返回x的十六進制編碼
oct(x)返回x的八進制編碼
conv(x,f1,f2)將x從f1進制數變成f2進制數
inet_aton(IP)函數能夠將IP地址轉換爲數字表示,IP值須要加上引號
inet_ntoa(n)函數能夠將數字n轉換成IP的形式
benchmark(count,expr)函數將表達式expr重複執行count次,而後返回執行時間。該函數能夠用來判斷MySQL處理表達式的速度
convert(s USING cs)、cast(x AS type)函數將字符串s的字符集變成cs

to_days(expr)將日期XXXX-XX-XX/XX-XX-XX轉化爲天數

相關文章
相關標籤/搜索