MySQL函數

             函數是事先經過編譯並存儲在數據庫中的一段sql語句的集合。

    MySQL常用函數有:字符串函數、數值函數、日期和時間函數、流程函數以及自定義函數等。

    

    字符串函數

    CONCAT(str1,str2,…) 連接字符串

    LOWER(str) 轉換成小寫

    UPPER(str) 轉換成大寫

    LENGTH(str)   返回字符串str的長度

    TRIM(str)  去掉str字符串前綴和後綴的空格(和length做個試驗)

    LTRIM(str) 去掉str字符串前綴的空格

    RTRIM(str) 去掉str字符串後綴的空格

    INSERT(str1,x,y,str2)    將str1值從第x開始至y結束替換成str2

    REPLACE(str,from_str,to_str)    將str中的from_str替換爲to_str

    LPAD(str,len,padstr) 返回str值,並左起由字符串padstr填補len位

    mysql> select lpad('server',2,'qq');

    +-----------------------+

    | lpad('server',2,'qq') |

    +-----------------------+

    | se                    |

    +-----------------------+

    1 row in set (0.27 sec)

     

    mysql> select lpad('server',20,'qq');

    +------------------------+

    | lpad('server',20,'qq') |

    +------------------------+

    | qqqqqqqqqqqqqqserver   |

    +------------------------+

    1 row in set (0.00 sec)

    RPAD(str,len,padstr) 返回str值,並右起由字符串padstr填補len位

    REPEAT(str,len)   將str重複len次

     

    數值函數

    ABS(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()  返回當前日期和時間

    WEEK(date,x)  返回指定日期是一年中的第幾周,x=0(默認)按週日爲一週的第一天,x=1按週一爲一週的第一天

    YEAR(date) 返回指定日期的年份

    MONTHNAME(date)   返回指定日期的月份名稱

    DATE_FORMAT(date,fmt)    返回按字符串fmt格式化的date日期

    DATE_ADD(date,INTERVAL expr type)  返回一個日期或時間加上一個時間間隔的值

    DATEDIFF(expr1,expr2)   返回expr1-expr2之間的天數

     

    流程函數

    IF(expr1,expr2,expr3)    如果expr1爲TRUE(!=0且!=NULL),則返回expr2的值,否則返回expr3的值

     

    IFNULL(expr1,expr2)  如果expr1不爲NULL則返回expr1,否則返回expr2

     

    CASE

    WHEN [value1] THEN result1

    WHEN [value2] THEN result2

    ELSE default

    END

    如果value1值爲TRUE,則優先返回result1值,如果value2值爲TRUE,則返回result2值,否則返回default值

     



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章