前言
- 不同的DBMS軟件中支持的自帶默認函數存在些許不同,本文主要介紹一下大多數情況下都支持的自帶默認函數
- 本文中的內容大都節選自《MySQL必知必會》第11章節,編寫本文目的主要是做個小總結,有興趣者可以下載(ktx8)查看
1.文本處理函數
函數 | 說明 |
---|---|
Left(str,len) | 用於返回字符串左側開始指定長度的子串 |
Right(str,len) | 用於返回字符串右側開始指定長度的子串 |
Length(str) | 用於返回字符串的長度 |
Locate(substr,str) | 返回子串在字符串中第一次出現的索引(索引從1開始) |
Locate(substr,str,pos) | 返回子串在字符串從pos開始第一次出現的索引(從1開始) |
Lower(str) | 將字符串字符轉換成全小寫 |
Upper(str) | 將字符串轉換成全大寫 |
Ltrim(str) | 去掉字符串左側的前導空格 |
Rtrim(str) | 去掉字符串右側的尾部空格 |
Trim([remstr FROM] str) | 去除字符串左右兩側的指定字符(默認爲空格) |
Trim([{BOTH | LEADING | TRAILING} [remstr] FROM] str) | 去除字符串前導/尾部的指定字符 |
Substr(str,pos)/Substring(str,pos) | 獲取字符串從指定位置到結尾的子串 |
Substr(str,pos,len)/Substring(str,pos,len) | 獲取字符串從指定位置開始一定長度的子串 |
Concat(str1,str2,…) | 將任意個字符串組成單個字符串 |
Lpad(str,len,padstr) | 用指定的字符在某字符串左端填充字符串到指定長度 |
Rpad(str,len,padstr) | 用指定的字符在某字符串右端填充字符串到指定長度 |
Replace(str,from_str,to_str) | 將指定字符串中的所有指定子串替換成新的子串 |
2.日期和時間處理函數
函數 | 說明 |
---|---|
Adddate(date,INTERVAL expr unit) | 給日期增加指定間隔(年、月、日) |
ADDTIME(time,n) | 給時間加上n秒間隔 |
Curdate() | 返回當前日期 |
Curtime() | 返回當前時間 |
NOW() | 返回當前日期和時間 |
Datediff(expr1,expr2) | 返回兩個日期相差的天數 |
DATE_ADD(date,INTERVAL expr unit) | 給日期加上指定的時間間隔(支持任何時間單位) |
DATE_FORMAT(date,format) | 將日期時間按照指定的格式格式化 |
Year/Month/Day/DayOfWeek/Hour/Minute/Second/Time/Date | 獲取輸入日期時間的指定部分 |
3.數值處理函數
函數 | 說明 |
---|---|
Abs(x) | 返回一個數的絕對值 |
Round(X,D) | 給數X四捨五入到小數點後D位,默認爲小數點後0位 |
Ceil(X) | 向上取整>=的最小整數 |
Floor(X) | 向下取整<=的最大整數 |
Truncate(X,D) | 截斷X的精度到小數點後D位,不能大於原始精度 |
Rand() | 返回一個0~1的隨機數 |
Exp(n) | 返回自然常數e的n次方 |
Mod(N,M) | 返回除法運算的餘數,等價於N%M或者N-N/M*M |
PI() | 返回圓周率 |
Sin(x) | 返回一個弧度的正弦值 |
Cos(x) | 返回一個弧度的餘弦值 |
Tan(x) | 返回一個弧度的正切值 |
4.系統函數
函數 | 說明 |
---|---|
User() | 返回當前會話的登錄用戶 |
Version() | 返回當前DBMS的版本號 |
Database() | 返回當前正在使用的數據庫名 |
CONNECTION_ID() | 返回當前服務器的連接數 |