(004)mysql中的常用函數

概述

mysql提供了很多內建函數,其中常用的函數有:

  • 字符串函數
  • 日期函數
  • 數值函數

我一般建議,能在后臺語言(php,java,c#等)中使用的類似函數,就在后臺語言中使用,這樣減少mysql壓力,和保證邏輯性。

字符串函數

函數 功能
合并字符串
concat(s1,s2,...,sn) 鏈接s1,s2,...,s3為一個字符串
concat_ws(sp,s1,s2,...,s3) 將s1,s2…,sn連接成字符串,并用sep字符間隔
repeat(str,x) 將字符串str重復x次,是concat函數子集
lpad(str,n,pad) 用字符串pad對str最左邊進行填充,直到長度為n個字符長度
rpad(str,n,pad) 用字符串pad對str最右邊進行填充,直到長度為n個字符長度
過濾字符串
trim(str) 去掉字符串str行尾和行頭的空格
ltrim(str) 去掉字符串str行頭的空格
rtrim(str) 去掉字符串str行尾的空格
lower(str) 將字符串str中所有的字符都變為小寫的
upper(str) 將字符串str中所有的字符都變為大寫的
截取字符串
left(str,x) 返回字符串str最左邊的x個字符
right(str,x) 返回字符串str最右邊的x個字符
substr(str,x,y) 截取字符串str從x位置起y個字符長度的子字符串
position(substr,str) 返回子串substr在字符串str中第一次出現的位置
替換字符串
replace(str,a,b) 用字符串b替換字符串str中所有出現的字符串a
insert(str,x,y,instr) 將字符串str從第x位置開始,y個字符串長的子串替換為字符串instr
字符串長度
length(str) 獲取字符串str存儲時候的字節數
char_length(str) 獲取字符串str中的字符個數
bit_length(str) 獲取字符串str存儲時候的bit位數
雜項
strcmp(s1,s2) 比較字符串s1和字符串s2
quote(str) 用反斜杠轉義str中的單引號
reverse(str) 反轉字符串str
ascii(char) 獲取字符ASCII碼
#舉例,length,char_length,bit_length
select catename,length(catename),
       char_length(catename),bit_length(catename)
from yz_category;
sql函數

數值函數

函數 功能
abs(x) 返回x的絕對值
ceil(x) 返回大于x的最小整數值
floor(x) 返回小于x的最大整數值
mod(x,y) 返回x/y的模
rand() 返回0~1內的隨機值
round(x,y) 返回參數x的四舍五入的y位小數值
truncate(x,y) 返回數字x截斷為y位小數的結果

日期和時間函數

函數 功能
curdate() 返回當前日期
curtime() 返回當前時間
now() 返回當前的日期和時間
unix_timestamp(date) 返回日期date的unix時間戳
from_unixtime 返回unix時間戳的日期值
week(date) 返回date為一年中的第幾周
year(date) 返回date的年份
hour(time) 返回time的小時值
minute(time) 返回time的分鐘值
monthname(date) 返回date的月份名
date_format(date,fmt) 返回字符串fmt格式化日期date值
date_add(date,interval expr type) 返回一個日期或時間值加上一個時間間隔的時間值
datediff(expr,expr2) 返回起始時間expr和結束時間expr2之間的天數

詳細信息與舉例參見:《深入淺出MySQL數據庫開發、優化與管理維護》(第2版)P79-第5章常用函數。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容