Mysql 函数入门
1.數學函數
數學函數是用來處理數值數據方面的運算,MySQL 中主要的數學函數有絕對值函數、三角函 數、對數函數和隨機函數等。| ?數學函數 | 功能介紹 |
| ?TRUNCATE(x,y) | 返回截去小數點后 y 位的數值 x |
| ?RAND() | 返回一個隨機浮點值 v,0<=v<=1 |
| ?RAND(x) | 返回一個隨機浮點值 v,0<=v<=1;x 為整數,被用作種子值, 用來產生重復序列。 |
| ?LOG(x) | 返回 x 的自然對象,x 相對于基數 e 的對數 |
| ?LOG10(x) | 返回 x 的基數為 10 的對數 |
| ?RADIANS(x) | 返回 x 由角度轉化為弧度的值,如 x 取值 90,則返回的弧度為PI( )/2 |
| ?DEGREES(x) | 返回 x 由弧度轉化為角度的值,如 x 取 PI( ),則返回的角度值為180 |
?控制流函數
控制流函數也稱作“條件判斷函數”,其根據滿足的條件不同,執行相應的流程。 MySQL 中常見的控制流函數有 IF、IFNULL。| ?控制流函數 | 功能介紹 |
| ?IF(expr,v1,v2) | 返回表達式 expr 得到不同運算結果時對應的值。若 expr 為TRUE(expr<>0 and expr<>null), 則 IF( ) 的返回值為 v1,否則為 v2 |
| ?IFNULL(v1,v2) | 返回參數 v1 或 v2 的值。如果 v1 不為 null,則返回值為 v1,否則返回值為 v2 |
?2.字符串函數
字符串函數主要用來處理字符串數據,MySQL 字符串函數主要有計算字符長度函數、字符串合 并函數、字符串轉換函數、字符串比較函數以及查找指定字符串位置函數等。| ?字符串函數 | 功能介紹 |
| ?RIGHT(str,len) | 截取右側字符串函數,返回 str 最左的 len 個字符 |
| ?LTRIM(str) | 刪除字符串 str 左側所有空格 |
| ?RTRIM(str) | 刪除字符串 str 右側所有空格 |
| ?TRIM(str) | 刪除字符串 str 左右兩端所有空格 |
| ?TRIM(s1 from str) | 刪除字符串 str 中兩端包含的子字符串 s1 |
| ?REPEAT(str,n) | 重復生成字符串函數。返回一個由重復的字符串 str 組成的字符串,該字符串中 str 的重復次數是 n。若 n<=0,則返回一個空字符串;若 str 或 n 為 null,則返回 null |
| ?STRCMP(s1,s2) | 比較字符串大小函數。若 s1 和 s2 相等,則返回 0;若 s1 小于 s2,則返回 -1;若 s1 大于 s2,則返回 1 |
| ?LOCATE(s1,str) | 匹配字符串開始位置的函數。返回子字符串 s1 在字符串 str 中第一次出現的位置。若 str 中沒有包括 s1,則返回 0 |
| ?ELT(n,s1,s2…sn) | 返回指定位置的字符串函數。根據 n 的取值,返回指定的字符串 sn。若 n=1,則返回 s1;若 n=2,則返回 s2,以此類推。若 n<1 或 n>sn 的數目,則返回值為 null |
| ?FIELD(s,s1,s2…sn) | 返回指定字符串位置的函數。返回字符串 s 在 s1,s2,…sn 中出現的位置。如果找不到,則返回值為 0;若 s 為 null,則返回值為 0 |
| ?INSERT(str,s1) | 匹配字符串開始位置的函數。功能同 LOCATE 函數 |
| ?REPLACE(str,s1,s2) | 替換函數。使用字符串 s2 替換字符串 str 中所有的子字符串s1 |
| ?REVERSE(str) | 返回和原始字符串 str 順序相反的字符串 |
3.?日期和時間函數
| ?日期和時間函數 | 功能介紹 |
| ?WEEK(date,mode) | 該函數返回日期參數 date 對應的星期數。WEEK( )的雙參數形式允許指定該星期是否起始于周日或周一, 以及返回值的范圍是否為從 0 到 53 或從 1 到53。若 mode 參數被省略,則使用 default_week_format 系統自變量的值 |
| ?DAYOFYEAR(date) | 返回日期參數 date 對應的當前年份的第幾天,范圍為 1 ~ 365 |
| ?year(date) | 返回日期參數 date 對應的年份 |
| ?month(date) | 返回日期參數 date 對應的月份 |
| ?day(date) | 返回日期參數 date 對應的當前月份的天數值 |
| ?DATE_ADD(date,INTERVAL ?expr type) 和??? ?ADDDATE(date, ?INTERVAL expr type) | 加法計算日期函數,這兩個函數作用相同,都是返回一個以參數 date 為起始日期加上時間間隔之后的日期值。expr 參數是希望添加的時間間隔,type 表示時間間隔的類型,type 和 expr 取值見表 5.6 |
| ?DATE_SUB(date,INTERVAL ?expr type) 和 ?SUBDATE(date,INTERVAL ?expr type) | 減法計算日期函數,這兩個函數作用相同,都是返回一個以參數 date 為起始日期減去時間間隔之后的日期值。expr 參數是希望添加的時間間隔,type 表示時間間隔的類型,type 和 expr 取值見表 5.6 |
| ?ADDTIME(time,expr) | 加法計算時間值函數,返回將 expr 值加上原始時間time 之后的值 |
| ?SUBTIME(time,expr) | 減法計算時間值函數,返回將原始時間 time 減去expr 之后的值 |
| ?DATEDIFF(date1,date2) | 計算兩個日期之間天數間隔的函數,返回參數 date1 減去 date2 之后的值。如果 date1 在 date2 之前,返回的值為負值 |
| ?DATE_FORMAT(date, ?format) | 日期和時間格式化函數。返回根據參數 format 指定的格式顯示的 date 值。format 包含的格式見表 5.7,即 DATE_FORMAT 和 TIME_FORMAT 函數中format 格式表 |
| ?TIME_FORMAT(time, ?format) | 時間格式化函數。返回根據參數 format 指定的格式顯示的 time 值 |
type 和 expr 取值
| ?type 值 | 預期的 expr 格式 |
| ?MICROSECOND | 微秒數 |
| ?SECOND | 秒數 |
| ?MINUTE | 分鐘數 |
| ?HOUR | 小時數 |
| ?DAY | 天數 |
| ?WEEK | 周數 |
| ?MONTH | 月數 |
| ?QUARTER | 季度數 |
| ?YEAR | 年數 |
| ?SECOND_MICROSECOND | ‘秒數 . 微秒數’ |
| ?MINUTE_MICROSECOND | ‘分鐘數 . 微秒數’ |
| ?MINUTE_SECOND | ‘分鐘數 . 秒數’ |
| ?HOUR_MICROSECOND | ‘小時數 . 微秒數’ |
| ?HOUR_SECOND | ‘小時數 : 分鐘數 : 秒數’ |
| ?HOUR_MINUTE | ‘小時數 : 分鐘數’ |
| ?DAY_MICROSECOND | ‘天數 . 微秒數’ |
| ?DAY_SECOND | ‘天數 小時數 : 分鐘數 : 秒數’ |
| ?DAY_MINUTE | ‘天數 小時數 : 分鐘數’ |
| ?DAY_HOUR | ‘天數 小時數’ |
| ?YEAR_MONTH | ‘年數 - 月數’ |
DATE_FORMAT 和 TIME_FORMAT 函數中 format 格式表?
| ?格式說明符 | 描述說明 |
| ?%a | 一星期中每天名稱的縮寫(Sun...Sat) |
| ?%b | 月份的縮寫(Jan...Dec) |
| ?%c | 月份的數字表現形式(0...12) |
| ?%D | 帶有英語后綴的一個月中的每一天的名稱(0th、1st、2nd、3rd) |
| ?%d | 用數字形式表現的每月中的每一天(00...31) |
| ?%e | 用數字形式表現的每月中的每一天(0...31) |
| ?%f | 毫秒(000000...999999) |
| ?%H | 24 時制顯示的小時(00...23) |
| ?%h | 12 時制顯示的小時(01...12) |
| ?%I | 12 時制顯示的小時(01...12) |
| ?%i | 以數字形式表現的分鐘數(00...59) |
| ?%j | 一年中的每一天(001...366) |
| ?%k | 24 時制小時的另一種表現格式(0...23) |
| ?%l | 12 時制小時的另一種表現格式(1...12) |
| ?%M | 用完整英文名稱表示的月份(January...December) |
| ?%m | 用數字表現的月份(00...12) |
| ?%p | 上午(AM)或下午(PM) |
| ?%r | 12 時制的時間值(hh:mm:ss,后跟 AM 或 PM) |
| ?%S | 秒(00...59) |
| ?%s | 秒(00...59) |
| ?%T | 24 時制的小時(hh:mm:ss) |
| ?%U | 星期(00...53),其中星期天是每星期的開始日 |
| ?%u | 星期(00...53),其中星期一是每星期的開始日 |
| ?%V | 星期(01...53),其中星期天是每星期的開始日,和 %X 一起使用 |
| ?%v | 星期(01...53),其中星期一是每星期的開始日,和 %x 一起使用 |
| ?%W | 一星期中各日名稱(Sunday...Saturday) |
| ?%w | 一星期中各日名稱(0 代表星期日,6 代表星期六,以此類推) |
| ?%X | 某星期所處年份。其中,星期天是每星期的開始日,采用 4 位數字形式表現,和 %V 一起使用 |
| ?%x | 某星期所處年份。其中,星期一是每星期的開始日,采用 4 位數字形式表現,和 %V 一起使用 |
| ?%Y | 4 位數字表示的年份 |
| ?%y | 2 位數字表示的年份 |
?
?
總結
以上是生活随笔為你收集整理的Mysql 函数入门的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python怎么打开一个窗口_pytho
- 下一篇: 北海计算机职称考试地点,【2017年广西