MySQL常用函數

MySQL運算符
比較運算符的結果是1(TRUE)、0(FALSE)或NULL。這些函數可用於數字或者字符串。
expr between min and max
如果expr大於或者等於min,並且小於等於max,返回1,否則返回0。它等價於表達式(expr>=min and expr<=max)
expr in (v1,v2,......)
如果expr是in列表中的一值,它將返回1,否則返回0
not或!
邏輯非,如果操作數爲0,返回1;如果操作數爲非零,返回0
and或&&
邏輯與,如果所有的操作數都是非零或非null的,返回1;如果有一個或者多個爲0,則返回0;只要操作數中有null返回值就爲null
or或||
邏輯或,如果任何一個操作數是非零或非null的,返回1;如果任何一個操作數爲null,返回值就爲null;否則返回0
xor
邏輯異或,如果任一操作數爲null,返回值爲null。對於非null的操作數,如果有奇數個非零的操作數,結果返回1,否則返回0
 
MySQL流程控制函數
ifnull(expr1,value)
如果expr1爲Null的,ifnull()返回value,否者返回expr1,可以返回數字或字符
case value when [compare-value-1] then result [result-1] when [compare-value-2] then result [result-2] ... else result [result-..] end
當value等於compare-value-n時,返回result-n
case when [condition-1] then result [result-1] when [condition-2] then result [result-2] ... else result [result-..] end
當第一個真值的condition出現時,返回該條件的結果,如果沒有匹配的的結果值,那麼else後的結果將被返回。如果沒有else部分,那麼null被返回
if(expr1,expr2,expr3)
如果expr1爲真(expr1<>0以及expr1<>null),那麼if()返回expr2,否者返回expr3
nullif(expr1,expr2)
如果expr1=expr2爲真,返回null,否者返回expr1
字 符的優先級
(...)括號,使用它來強制使用一個表達式的計算順序

MySQL字符串函數
ASCII(str)  返回str最左邊的那個字符的ASCII的值
bin(str)   返回str的字符串表示的二進制值形式
oct(str)   返回str的字符串表示的八進制值形式
hex(str)   如果str是一個數字,返回str表示的十六進制值形式;如果str是一個字符串,則每個字符均被轉換爲2位十六進制數字,並以十六進制的字符串形式返回
char(num1,num2,..)   以整數類型解釋參數,返回這個整數所代表的ASCII碼值給出的字符組成的字符串。null值將被忽略
char_length(str)   返回字符串str的字符個數
length(str)   返回字符串str的字節數
concat(str1,str2,...)   將參數連接成字符串返回,如果有任何一個參數是Null,返回值也爲Null。數字參數將被轉化爲等價的字符串形式返回
locate(子串substr,母串str)   返回子串在母串中第一次出現的位置,如果子串在母串中不存在,返回0
instr(母串,子串)   返回子串在母串中第一次出現的位置,如果子串在母串中不存在,返回0
lpad(str,len,padstr)   用字符串padstr對str進行左邊填補直至它的長度到達len個字符長度,然後返回str,如果str的長度大於len,那麼它將被截除到len個字符
rpad(str,len,padstr)   用字符串padstr對str進行右邊填補直至它的長度到達len個字符長度,然後返回str,如果str的長度大於len,那麼它將被截除到len個字符
left(str,len)   返回字符串str中最左邊的len個字符
right(str,len)   返回字符串str中最右邊的len個字符
substring(str,pos,len)   從字符串str的pos位置起返回len個字符的子串
ltrim(str)   返回移除了領頭的空格字符後的str
rtrim(str)   返回移除了尾部的空格字符後的str
trim([[both|leading|trailing] [remstr] from] str)
移除字符串str中所有的remstr前綴和後綴,然後將其返回,如果沒有任何both、leading或trailing修飾符被給出,both爲默認,如果remstr沒有被指定,空格將被默認移除
space(n)   返回有n個空格字符串組成的字符串
repeat(str,count)   返回一個由重複了count次的字符串str組成的字符串,如果count<=0,返回一個空字符串,如果str或count是null,返回值也爲null
replace(str,src_str,des_str)   在字符串str中所有出現src_str均被des_str替換,然後返回這個字符串
reverse(str)   以顛倒的字符串順序返回字符串str
lcase(str)或lower(str)   將字符串中所有字符轉變爲小寫,返回返回該串
ucase(str)或upper(str)   將字符串中所有字符轉變爲大寫,返回返回該串
load_file(file_name)   讀入文件,並將文件內容作爲一個字符串返回。這個文件必須在服務器上,必須指定文件完整的路徑名,並且你必須有文件權限,文件必須完全可讀,並且小於最大允許長度,如果該文件不存在,或因以上原因不能讀,函數返回null

MySQL數字函數
abs(x)   返回x的絕對值
n div m   返回n整除m的商
mod(n,m)   取模,返回n被m除後的餘數
floor(x)   返回不大於x的最大整數值
ceiling(x)   返回大於x的最大整數值
round(x)   將參數x四捨五入到最近的整數,然後返回
round(x,d)   將參數x四捨五入到d個小數後,然後返回
exp(x)   返回值e的x次方
ln(x)   返回x的自然對數
log(x,b)   返回x任意底b的對數
sqrt(x)   返回x的非負平方根
pi()   返回圓周率
cos(x) sin(x) tan(x)  acos(x) asin(x) atan(x)   返回x的餘弦,正弦,正切,反餘弦,反正弦,反正切
rand(n)   返回一個範圍在0到1.0之間的隨機浮點數,如果一個整數參數n被指定,它將當種子使用,用於產生一個可重複的數值

MySQL日期時間函數
now()   用於返回當前日期時間值
curdate()   用於返回當前的日期值
curtime()   用於返回當前的時間值

MySQL轉換函數
convert(exp,type)   可以把exp轉換爲type類型

MySQL其他函數
database()   返回當前數據庫名
user()   返回當前用戶名
password()   對字符串進行加密

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章