資料庫函數有:1、數學函數【abs(x)、bin(x)】;2、聚合函數【avg(col)】;3、字串函數【ascii(char)】;4 、日期和時間函數【curdate()】;5、加密函數【decode(str,key)】。
資料庫函數有:
#一、數學函數
abs(x) 傳回x的絕對值
bin(x) 傳回x的二進位(oct傳回八進位,hex傳回十六進位)
ceiling(x) 傳回大於x的最小整數值
#exp(x) 傳回值e(自然對數的底)的x次方
floor(x) 傳回小於x的最大整數值
#greatest(x1,x2,...,xn)回傳集合中最大的值
least(x1,x2,...,xn) 傳回集合中最小的值
ln(x) 返回x的自然對數
log(x,y)傳回x的以y為底的對數
mod(x,y ) 傳回x/y的模(餘數)
pi()傳回pi的值(圓周率)
rand()傳回0到1內的隨機值,可以透過提供一個參數(種子)使rand()隨機數產生器產生一個指定的值。
round(x,y)傳回參數x的四捨五入的有y位小數的值
sign(x) 傳回代表數字x的符號的值
sqrt(x) 傳回一個數的平方根
truncate(x,y) 傳回數字x截斷為y位小數的結果
二、聚合函數(常用於group by子句的select查詢中)
avg (col)傳回指定列的平均值
count(col)傳回指定列中非null值的個數
min(col )傳回指定列的最小值
max(col)傳回指定列的最大值
sum(col)傳回指定列的所有值之和
group_concat(col) 傳回由屬於一組的列值連接組合而成的結果
三、字串函數
ascii(char)傳回字元的ascii碼值
bit_length(str)傳回字串的位元長度
concat(s1,s2...,sn)將s1,s2...,sn連接成字串
concat_ws( sep,s1,s2...,sn)將s1,s2...,sn連接成字串,並用sep字元間隔
insert(str,x,y,instr ) 將字串str從第x位置開始,y個字元長的子字串替換為字串instr,傳回結果
find_in_set(str,list)分析逗號分隔的list列表,如果發現str,返回str在list中的位置
lcase(str)或lower(str) 傳回將字串str中所有字元改變為小寫後的結果
left(str,x)傳回字串str中最左邊的x個字元
#length(s)傳回字串str中的字元數
ltrim(str) 從字串str中切掉開頭的空格
position(substr in str) 傳回子字串substr在字符串str中第一次出現的位置
quote(str) 用反斜線轉義str中的單引號
repeat( str,srchstr,rplcstr)傳回字串str重複x次的結果
#reverse(str) 傳回顛倒字串str的結果
right(str,x) 傳回字串str中最右邊的x個字元
rtrim(str) 傳回字串str尾部的空格
strcmp(s1,s2)比較字串s1和s2
#trim(str)移除字串首部和尾部的所有空格
ucase(str)或upper(str) 傳回將字串str中所有字元轉換為大寫後的結果
四、日期和時間函數
curdate()或current_date() 傳回目前的日期
curtime()或current_time() 傳回目前的時間
date_add(date,interval int keyword)傳回日期date加上間隔時間int的結果(int必須依照關鍵字格式化),如:selectdate_add(current_date,interval 6 month);
date_format(date,fmt) 依照指定的fmt格式格式化日期date值
date_sub(date,interval int keyword)傳回日期date加上間隔時間int的結果(int必須依照關鍵字進行格式化),如:selectdate_sub(current_date,interval 6 month);
dayofweek(date) 傳回date所代表的一星期中的第幾天(1~7)
dayofmonth(date) 回傳date是一個月的第幾天(1~31)
quarter(date) 傳回date在一年中的季度(1~4),如select quarter(current_date);
week(date)返回日期date為一年中第幾週(0~53)
year(date) 返回日期date的年份(1000~9999)
#五、加密函數
aes_encrypt(str,key) 傳回以金鑰key對字串str利用高階加密標準演算法加密後的結果,呼叫aes_encrypt的結果是一個二進位字串,以blob類型儲存
aes_decrypt(str,key) 傳回用金鑰key對字串str利用高階加密標準演算法解密後的結果
decode(str,key) 使用key作為金鑰解密加密字串str
#encrypt(str,salt) 使用unixcrypt()函數,用關鍵字salt(一個可以惟一確定口令的字串,就像鑰匙一樣)加密字串str
encode(str,key) 使用key作為金鑰加密字符字串str,呼叫encode()的結果是一個二進位字串,它以blob型別儲存
#md5() 計算字串str的md5校驗和
#password(str) 傳回字串str的加密版本,這個加密過程是不可逆的,和unix密碼加密過程使用不同的演算法。
sha() 計算字串str的安全雜湊演算法(sha)校驗與
##六、控制流程函數
mysql有4個函數是用來進行條件操作的,這些函數可以實作sql的條件邏輯,讓開發者將一些應用程式業務邏輯轉換到資料庫後台。 mysql控制流函數:
#為了進行資料型別轉化,mysql提供了cast()函數,它可以把一個值轉換為指定的資料類型。類型有:binary,char,date,time,datetime,signed,unsigned
#九、系統資訊函數
相關免費學習推薦:
以上是資料庫函數有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!