MySQL流浪记(五)—— MySQL中常见函数的使用(笔记)
生活随笔
收集整理的這篇文章主要介紹了
MySQL流浪记(五)—— MySQL中常见函数的使用(笔记)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
MySQL函數是MySQL數據庫提供的內部函數。這些內部函數可以幫助用戶更加方便的處理表中的數據。本文將簡單的介紹MySQL中一些常見的函數,方便之后查閱。
總結了SQL語句中常見的五種函數,分別是:
字符函數:對字符串、二進制數據或表達式執行操作。
數學函數:對表中的數據進行算數運算。
日期函數:處理表中的日期和時間。
聚合函數:返回數據的總匯值。
流程控制函數:實現SQL的條件邏輯
字符函數
| ASCII(char) | 返回字符的ASCII碼 |
| BIT_LENGTH(str) | 返回字符串的比特長度 |
| CONCAT(s1,s2) | 拼接字符串 |
| CONCAT_WS(sep,s1,s2…,sn) | 將s1,s2…sn連接成字符串,使用sep進行間隔 |
| FORMAT(x,n) | 將數字x進行格式化“x,xxx.xx”保留n位小 |
| INSERT(str1,x,y,str2) | 將字符串str1從x位置開始,將y個字符長的字符串替換為str2 |
| INSTR(str1,str2) | 返回子串str2第一次在str1中出現的索引,如果找不到返回0 |
| LEFT(str,x) | 返回字符串str中最左邊的x個字符 |
| LENGTH(str) | 獲取參數值的字節個數 |
| LOCATE(str1,str2) | 在str2中查找str1第一次出現的索引 |
| LOWER(str)/LCASE(s) | 將其轉換為小寫 |
| LPAD(str1,num,str2) | 用指定的字符str2實現左填充指定長度,如果num小于str1的 字符長度,則從右邊截斷至num字符長度 |
| LTRIM(str) | 刪除str前面的空格 |
| POSITION(str1 IN str2) | 在str2中查找str1第一次出現的索引 |
| REPEAT(str,n) | 將字符串str重復n次,如果n<=0,返回一個空字符串。如果str或者n是NULL,返回NULL |
| REPLACE(str1,str2,str3) | 將str1中的str2全部替換為str3 |
| REVERSE(str) | 顛倒字符串 |
| RIGHT(str,x) | 返回字符串str中最右邊的x個字符 |
| RPAD(str1,num,str2) | 用指定的字符str2實現右填充指定長度,如果num小于str1的字符長度,則從左邊截斷至num字符長度 |
| STRCMP(s1,s2) | 比較字符串s1和s2,大于1,等于0,小于-1 |
| SUBSTR(str,num1,num2) | 截取從指定索引num1處num2字符長度的字符 |
| TRIM(str)/LTRIM(str)/RTRIM(str) | 刪除str兩邊/左/右的空格,(str1,str2)刪除所有的str1 |
| UPPER(str)/UCASE(str) | 將其轉換為大寫 |
回目錄
數學函數
| ABS(x) | 返回絕對值 |
| BIN(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-x/y*y) |
| ROUND(x) | 四舍五入 |
| SQRT(x) | 返回一個輸的方平根 |
| TRUNCATE(x,y) | 返回數字x截短為y位小數的結果 |
| POWER(x,y) | 返回x的y次冪 |
| SIGN(x) | 返回x的符號,負數-1, |
回目錄
日期函數
| ADDDATE(date,n) /SUBDATE(date,n) | 從date開始加n天的日期 |
| ADDTIME(t,n) | 時間t加上n秒的時間 |
| CURTIME() | 獲取當前的時間 |
| DATE_FORMAT(date,fmt) | 按照指定的fmt格式進行格式化日期 |
| DATEDIFF(d1,d2) | 計算指定日期d1與d2之間相隔的天數 |
| DAYNAME(date) | 返回date的星期名 |
| DAYOFMONTH(date) | 返回date是一月中的第幾天 |
| DAYOFWEEK(date) | 返回date是一周中的第幾天 |
| DAYOFYEAR(date) | 返回date是一年中的第幾天 |
| FROM_UNIXTIME(時間戳) | 時間戳轉日期 |
| GETDATE()/CURDATE() | 獲取當前系統的日期 |
| HOUR(date) | 返回time的小時值 |
| LAST_DAY(date) | 返回指定月份的最后一天 |
| MINUTE(date) | 返回time的分鐘值 |
| MONTH(date) | 返回date中的月份值 |
| MONTHNAME(date) | 返回date的月份名 |
| NOW() | 返回當前的日期和時間 |
| QUARTER(date) | 返回date在一年中的季度(1~4) |
| UNIX_TIMESTAMP(date) | 得到時間戳 |
| WEEK(date) | 返回date為一年中的第幾周(0~53) |
| YEAR(date) | 返回date的年份(1000~9999) |
回目錄
聚合函數
| AVG(col) | 返回指定列的平均值 |
| COUNT(*) | 返回表中的所有行數 |
| COUNT(col) | 返回指定列中非NULL值的個數 |
| GROUP_CONCAT(col) | 返回由屬于一組的列值鏈接組合而成的結果(詳解) |
| MAX(col) | 返回指定列的最大值 |
| MIN(col) | 返回指定列的最小值 |
| SUM(col) | 返回指定列的所有值之和 |
回目錄
流程控制函數
| CASE WHEN[test1] THEN [result1]…ELSE[default] | 如果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不是空,返回agr1,否則返回arg2 |
| NULLIF(arg1,arg2) | 如果arg1=arg2,返回NULL,否則返回arg1 |
回目錄
上面的一些總結只是目前了解到的,作為一個學習筆記,還有很多沒有總結,會持續更新。歡迎各位批評指正!
總結
以上是生活随笔為你收集整理的MySQL流浪记(五)—— MySQL中常见函数的使用(笔记)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一篇文章搞懂数据仓库:数据仓库架构-La
- 下一篇: 【每日SQL打卡】