首頁 >常見問題 >資料庫函數有哪些

資料庫函數有哪些

coldplay.xixi
coldplay.xixi原創
2020-11-26 09:58:5440785瀏覽

資料庫函數有: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)

  • # #dayofyear(date) 回傳date是一年的第幾天(1~366)

  • dayname(date) 傳回date的星期名,如:select dayname(current_date);

  • from_unixtime(ts,fmt) 根據指定的fmt格式,格式化unix時間戳ts

  • hour(time) 傳回time的小時值(0~23)

  • minute(time) 傳回time的分鐘值(0~59)

  • month(date) 傳回date的月份值(1~12)

  • monthname(date) 傳回date的月份名,如:select monthname(current_date);

  • #now () 傳回目前的日期和時間

  • 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控制流函數:

  • case when[test1] then [result1]...else [default] end如果testn是真,則傳回resultn,否則回傳default

  • case [test] when[val1] then [result]...else [default]end 如果test和valn相等,則傳回resultn,否則傳回default

  • if(test,t,f) 如果test是真,回傳t;否則回傳f

  • ifnull(arg1,arg2) 如果arg1不是空,傳回arg1,否則回傳arg2

  • nullif(arg1,arg2) 如果arg1=arg2傳回null;否則傳回arg1

  • ##這些函數的第一個是ifnull(),它有兩個參數,並且對第一個參數進行判斷。如果第一個參數不是null,函數就會向呼叫者傳回第一個參數;如果是null,將傳回第二個參數。

七、格式化函數

    date_format(date,fmt) 依照字串fmt格式化日期date值
  • #format(x,y) 把x格式化為以逗號隔開的數字序列,y是結果的小數位數
  • inet_aton(ip) 回傳ip位址的數字表示
  • inet_ntoa(num) 傳回數字所代表的ip位址
  • time_format(time,fmt) 依照字串fmt格式化時間time值
八、類型轉化函數

#為了進行資料型別轉化,mysql提供了cast()函數,它可以把一個值轉換為指定的資料類型。類型有:binary,char,date,time,datetime,signed,unsigned

#九、系統資訊函數

    database() 傳回目前資料庫名稱
  • benchmark(count,expr) 將表達式expr重複執行count次
  • connection_id() 傳回目前客戶的連線id
  • found_rows() 傳回最後一個select查詢進行檢索的總行數
  • user()或system_user() 傳回目前登陸使用者名稱
  • version() 傳回mysql伺服器的版本
相關免費學習推薦:

mysql影片教學#

以上是資料庫函數有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn