1. 程式人生 > >第二百八十五節,MySQL數據庫-MySQL函數

第二百八十五節,MySQL數據庫-MySQL函數

制度 blog logs 當前 cell ews 取字符 art date()

MySQL數據庫-MySQL函數

1、MySQL內置函數

SELECT執行函數,後面跟要執行的函數

CHAR_LENGTH(str)函數:返回字符串的字符長度

-- CHAR_LENGTH(str)函數:返回字符串的字符長度

SELECT CHAR_LENGTH(歡迎光臨);

技術分享

LENGTH(str)函數:返回字符串的字節長度

-- LENGTH(str)函數:返回字符串的字節長度

SELECT LENGTH(歡迎光臨);

CONCAT(str1,str2,...)函數:拼接字符串

-- CONCAT(str1,str2,...)函數:拼接字符串

SELECT
CONCAT(你好,歡迎光臨);

CONCAT_WS(鏈接符,str1,str2,...)函數:自定義鏈接符,拼接字符串

-- CONCAT_WS(鏈接符,str1,str2,...)函數:自定義鏈接符,拼接字符串

SELECT CONCAT_WS(_,你好,歡迎光臨);

CONV(N,from_base,to_base)函數:進制轉換

-- CONV(N,from_base,to_base)函數:進制轉換

SELECT CONV(a,16,2); -- 表示將 a 由16進制轉換為2進制字符串表示

FORMAT(X,D)函數:將數字X 的格式寫為‘#,###,###.##‘,以四舍五入的方式保留小數點後 D 位, 並將結果以字符串的形式返回。若 D 為 0, 則返回結果不帶有小數點,或不含小數部分。

-- FORMAT(X,D)函數:將數字X 的格式寫為‘#,###,###.##‘,以四舍五入的方式保留小數點後 D 位, 並將結果以字符串的形式返回。若  D 為 0, 則返回結果不帶有小數點,或不含小數部分。

SELECT FORMAT(12332.1,4); -- 結果為: ‘12,332.1000‘

INSERT(原始字符串,替換起始位置,替換長度,替換的新字符串)函數:在str的指定位置插入字符串

-- INSERT(原始字符串,替換起始位置,替換長度,替換的新字符串)函數:在str的指定位置插入字符串

SELECT INSERT(歡迎光臨官方網站,5,2,我們); --
返回:歡迎光臨我們網站

其他函數

 INSERT(str,pos,len,newstr)
        在str的指定位置插入字符串
            pos:要替換位置其實位置
            len:替換的長度
            newstr:新字符串
        特別的:
            如果pos超過原字符串長度,則返回原字符串
            如果len超過原字符串長度,則由新字符串完全替換
    INSTR(str,substr)
        返回字符串 str 中子字符串的第一個出現位置。

    LEFT(str,len)
        返回字符串str 從開始的len位置的子序列字符。

    LOWER(str)
        變小寫

    UPPER(str)
        變大寫

    LTRIM(str)
        返回字符串 str ,其引導空格字符被刪除。
    RTRIM(str)
        返回字符串 str ,結尾空格字符被刪去。
    SUBSTRING(str,pos,len)
        獲取字符串子序列

    LOCATE(substr,str,pos)
        獲取子序列索引位置

    REPEAT(str,count)
        返回一個由重復的字符串str 組成的字符串,字符串str的數目等於count 。
        若 count <= 0,則返回一個空字符串。
        若str 或 countNULL,則返回 NULLREPLACE(str,from_str,to_str)
        返回字符串str 以及所有被字符串to_str替代的字符串from_str 。
    REVERSE(str)
        返回字符串 str ,順序和字符順序相反。
    RIGHT(str,len)
        從字符串str 開始,返回從後邊開始len個字符組成的子序列

    SPACE(N)
        返回一個由N空格組成的字符串。

    SUBSTRING(str,pos) , SUBSTRING(str FROM pos) SUBSTRING(str,pos,len) , SUBSTRING(str FROM pos FOR len)
        不帶有len 參數的格式從字符串str返回一個子字符串,起始於位置 pos。帶有len參數的格式從字符串str返回一個長度同len字符相同的子字符串,起始於位置 pos。 使用 FROM的格式為標準 SQL 語法。也可能對pos使用一個負值。假若這樣,則子字符串的位置起始於字符串結尾的pos 字符,而不是字符串的開頭位置。在以下格式的函數中可以對pos 使用一個負值。

        mysql> SELECT SUBSTRING(Quadratically,5);
            -> ratically

        mysql> SELECT SUBSTRING(foobarbar FROM 4);
            -> barbar

        mysql> SELECT SUBSTRING(Quadratically,5,6);
            -> ratica

        mysql> SELECT SUBSTRING(Sakila, -3);
            -> ila

        mysql> SELECT SUBSTRING(Sakila, -5, 3);
            -> aki

        mysql> SELECT SUBSTRING(Sakila FROM -4 FOR 2);
            -> ki

    TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str) TRIM(remstr FROM] str)
        返回字符串 str , 其中所有remstr 前綴和/或後綴都已被刪除。若分類符BOTH、LEADIN或TRAILING中沒有一個是給定的,則假設為BOTH 。 remstr 為可選項,在未指定情況下,可刪除空格。

        mysql> SELECT TRIM(  bar   );
                -> bar

        mysql> SELECT TRIM(LEADING x FROM xxxbarxxx);
                -> barxxx

        mysql> SELECT TRIM(BOTH x FROM xxxbarxxx);
                -> bar

        mysql> SELECT TRIM(TRAILING xyz FROM barxxyz);
                -> barx

文本函數

函數

用法

描述

CONCAT()

CONCAT(x,y,...)

創建形如xy的新字符串

LENGTH()

LENGTH(column)

返回列中儲存的值的長度

LEFT()

LEFT(column,x)

從列的值中返回最左邊的x個字符

RIGHT()

RIGHT(column,x)

從列的值中返回最右邊的x個字符

TRIM()

TRIM(column)

從存儲的值刪除開頭和結尾的空格

UPPER()

UPPER(column)

把存儲的字符串全部大寫

LOWER()

LOWER(column)

把存儲的字符串全部小寫

SUBSTRING()

SUBSTRING(column, start, length)

從column中返回開始start的length個字符(索引從0開始)

MD5()

MD5(column)

把儲存的字符串用MD5加密

SHA()

SHA(column)

把存儲的字符串用SHA加密

數字函數

函數

用法

描述

ABS()

ABS(x)

返回x的絕對值

CEILING()

CEILING(x)

返回x的值的最大整數

FLOOR()

FLOOR(x)

返回x的整數

ROUND()

ROUND(x)

返回x的四舍五入整數

MOD()

MOD(x)

返回x的余數

RNAD()

RNAD()

返回0-1.0之間隨機數

FORMAT()

FORMAT(x,y)

返回一個格式化後的小數

SIGN()

SIGN(x)

返回一個值,正數(+1),0,負數(-1)

SQRT()

SQRT(x)

返回x的平方根

日期和時間函數

函數

用法

描述

HOUR()

HOUR(column)

只返回儲存日期的小時值

MINUTE()

MINUTE(column)

只返回儲存日期的分鐘值

SECOND()

SECOND(column)

只返回儲存日期的秒值

DAYNAME()

DAYNAME(column)

返回日期值中天的名稱

DAYOFMONTH()

DAYOFMONTH(column)

返回日期值中當月第幾天

MONTHNAME()

MONTHNAME(column)

返回日期值中月份的名稱

MONTH()

MONTH(column)

返回日期值中月份的數字值

YEAR()

YEAR(column)

返回日期值中年份的數字值

CURDATE()

CURDATE()

返回當前日期

CURTIME()

CURTIME()

返回當前時間

NOW()

NOW()

返回當前時間和日期

格式化日期和時間(DATE_FORMAT()和TIME_FORMAT())

名詞

用法

示例

%e

一月中的某天

1~31

%d

一月中的某天,兩位

01~31

%D

帶後綴的天

1st~31st

%W

周日名稱

Sunday~Saturday

%a

簡寫的周日名稱

Sun-Sat

%c

月份編號

1~12

%m

月份編號,兩位

01~12

%M

月份名稱

January~December

%b

簡寫的月份名稱

Jan~Dec

%Y

年份

2002

%y

年份,兩位

02

%l

小時

1~12

%h

小時,兩位

01~12

%k

小時,24小時制

0~23

%H

小時,24小制度,兩位

00~23

%i

分鐘

00~59

%S

00~59

%r

時間

8:17:02 PM

%T

時間,24小時制

20:17:02 PM

%p

上午或下午

AM或PM

更多函數:中文猛擊這裏 OR 官方猛擊這裏

第二百八十五節,MySQL數據庫-MySQL函數