<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # MySQL 函數 > [http://zetcode.com/databases/mysqltutorial/functions/](http://zetcode.com/databases/mysqltutorial/functions/) 在 MySQL 教程的這一部分中,我們將介紹 MySQL 內置函數。 MySQL 內置函數可以分為幾組。 * 數學函數 * 匯總函數 * 字符串函數 * 日期和時間函數 * 系統函數 在這里,我們僅顯示所有 MySQL 函數的一部分。 要獲取可用函數的完整列表,請查閱 MySQL 參考手冊。 ## 數學函數 MySQL 支持多種數學函數。 ```sql mysql> SELECT RAND(); +-------------------+ | RAND() | +-------------------+ | 0.786536605829873 | +-------------------+ ``` `RAND()`函數從 0,1 間隔返回一個隨機數。 ```sql mysql> SELECT ABS(-3), PI(), SIN(0.5); +---------+----------+-------------------+ | ABS(-3) | PI() | SIN(0.5) | +---------+----------+-------------------+ | 3 | 3.141593 | 0.479425538604203 | +---------+----------+-------------------+ ``` `ABS()`函數返回數字的絕對值。 `PI()`函數給出 PI 的值。 `SIN()`函數計算參數的正弦值。 ```sql mysql> SELECT BIN(22), OCT(22), HEX(22); +---------+---------+---------+ | BIN(22) | OCT(22) | HEX(22) | +---------+---------+---------+ | 10110 | 26 | 16 | +---------+---------+---------+ ``` 我們使用函數給出十進制 22 的二進制,八進制和十六進制表示形式。 ```sql mysql> SELECT CEIL(11.256), FLOOR(11.256), ROUND(11.256, 2); +--------------+---------------+------------------+ | CEIL(11.256) | FLOOR(11.256) | ROUND(11.256, 2) | +--------------+---------------+------------------+ | 12 | 11 | 11.26 | +--------------+---------------+------------------+ ``` `CEIL()`函數將值舍入為最小的后續整數。 `FLOOR()`函數將值舍入為最大的前一個整數。 `ROUND()`返回一個四舍五入到指定小數位數的數字。 ```sql mysql> SELECT POW(3, 3), SQRT(9); +-----------+---------+ | POW(3, 3) | SQRT(9) | +-----------+---------+ | 27 | 3 | +-----------+---------+ ``` 冪和平方根函數。 ```sql mysql> SELECT DEGREES(2*PI()); +-----------------+ | DEGREES(2*PI()) | +-----------------+ | 360 | +-----------------+ ``` `DEGREES()`函數根據弧度計算度數。 ## 匯總函數 集合函數對值集進行操作。 ```sql mysql> SELECT * FROM Cars; +----+------------+--------+ | Id | Name | Cost | +----+------------+--------+ | 1 | Audi | 52642 | | 2 | Mercedes | 57127 | | 3 | Skoda | 9000 | | 4 | Volvo | 29000 | | 5 | Bentley | 350000 | | 6 | Citroen | 21000 | | 7 | Hummer | 41400 | | 8 | Volkswagen | 21600 | +----+------------+--------+ ``` 我們有汽車表。 ```sql mysql> SELECT MIN(Cost), MAX(Cost), AVG(Cost) -> FROM Cars; +-----------+-----------+------------+ | MIN(Cost) | MAX(Cost) | AVG(Cost) | +-----------+-----------+------------+ | 9000 | 350000 | 72721.1250 | +-----------+-----------+------------+ ``` 我們使用`MIN()`,`MAX()`和`AVG()`聚合函數來計算表中汽車的最低價格,最高價格和平均價格。 ```sql mysql> SELECT SUM(Cost), COUNT(Id), STD(Cost), -> VARIANCE(Cost) FROM Cars; +-----------+-----------+-------------+------------------+ | SUM(Cost) | COUNT(Id) | STD(Cost) | VARIANCE(Cost) | +-----------+-----------+-------------+------------------+ | 581769 | 8 | 105931.1676 | 11221412265.3594 | +-----------+-----------+-------------+------------------+ ``` 我們使用`SUM()`函數來獲取`Cost`列中所有值的總和。 我們使用`COUNT()`函數計算表中的汽車數量。 最后,我們使用`STD()`和`VARIANCE()`函數獲得標準偏差和方差。 ## 字符串函數 在這一組中,我們有各種與字符串相關的函數。 ```sql mysql> SELECT LENGTH('ZetCode'), UPPER('ZetCode'), LOWER('ZetCode'); +-------------------+------------------+------------------+ | LENGTH('ZetCode') | UPPER('ZetCode') | LOWER('ZetCode') | +-------------------+------------------+------------------+ | 7 | ZETCODE | zetcode | +-------------------+------------------+------------------+ ``` `LENGTH()`函數返回字符串的長度。 `UPPER()`函數將字符轉換為大寫字母。 `LOWER()`函數將字符轉換為小寫字母。 ```sql ysql> SELECT LPAD(RPAD("ZetCode", 10, "*"), 13, "*"); +-----------------------------------------+ | LPAD(RPAD("ZetCode", 10, "*"), 13, "*") | +-----------------------------------------+ | ***ZetCode*** | +-----------------------------------------+ ``` 我們使用`LPAD()`和`RPAD()`函數將字符附加和添加到指定的字符串之前。 `"ZetCode"`字符串包含 7 個字符。 `RPAD()`函數將 3 個`"*"`字符附加到字符串中,該字符現在將為 10 個字符長。 ```sql mysql> SELECT REVERSE('ZetCode'), REPEAT('*', 6); +--------------------+----------------+ | REVERSE('ZetCode') | REPEAT('*', 6) | +--------------------+----------------+ | edoCteZ | ****** | +--------------------+----------------+ ``` `REVERSE()`函數可反轉字符串中的字符。 `REPEAT()`函數重復指定次數的字符串。 ```sql mysql> SELECT LEFT('ZetCode', 3), RIGHT('ZetCode', 3), -> SUBSTRING('ZetCode', 3, 3); +--------------------+---------------------+----------------------------+ | LEFT('ZetCode', 3) | RIGHT('ZetCode', 3) | SUBSTRING('ZetCode', 3, 3) | +--------------------+---------------------+----------------------------+ | Zet | ode | tCo | +--------------------+---------------------+----------------------------+ ``` `LEFT()`函數返回最左邊的 3 個字符,`RIGHT()`函數返回最右邊的 3 個字符。 `SUBSTRING()`函數從字符串的第三位置返回三個字符。 ```sql mysql> SELECT STRCMP('byte', 'byte'), CONCAT('three', ' apples'); +------------------------+----------------------------+ | STRCMP('byte', 'byte') | CONCAT('three', ' apples') | +------------------------+----------------------------+ | 0 | three apples | +------------------------+----------------------------+ ``` `STRCMP()`比較兩個字符串,如果相同則返回 0。 `CONCAT()`函數連接兩個字符串。 ```sql mysql> SELECT REPLACE('basketball', 'basket', 'foot'); +-----------------------------------------+ | REPLACE('basketball', 'basket', 'foot') | +-----------------------------------------+ | football | +-----------------------------------------+ ``` `REPLACE()`函數返回一個字符串,其中我們替換了一些文本。 第一個參數是原始字符串。 第二個參數是一個字符串,我們要替換。 最后一個參數是新的替換字符串。 ## 日期&時間函數 在這個組中,我們具有各種日期和時間函數。 ```sql mysql> SELECT DAYNAME('2011-01-23'), YEAR('2011/01/23'), -> MONTHNAME('110123'); +-----------------------+--------------------+---------------------+ | DAYNAME('2011-01-23') | YEAR('2011/01/23') | MONTHNAME('110123') | +-----------------------+--------------------+---------------------+ | Sunday | 2011 | January | +-----------------------+--------------------+---------------------+ ``` 在 MySQL 中,日期以`YYYY-MM-DD`格式編寫。 年份之后是月份和日期。 它們可以用斜杠或連字符分隔。 MySQL 還支持縮短的日期格式,沒有分隔符。 時間以標準格式`HH:MM:SS`編寫。 小時后是分鐘和秒。 ```sql mysql> SELECT NOW(); +---------------------+ | NOW() | +---------------------+ | 2011-01-22 00:24:49 | +---------------------+ ``` `NOW()`函數返回當前日期和時間。 ```sql mysql> SELECT CURTIME(), CURDATE(); +-----------+------------+ | CURTIME() | CURDATE() | +-----------+------------+ | 00:25:03 | 2011-01-22 | +-----------+------------+ ``` `CURTIME()`返回當前時間,`CURDATE()`返回當前日期。 ```sql mysql> SELECT DATEDIFF('2011-3-12', '2011-1-12'); +------------------------------------+ | DATEDIFF('2011-3-12', '2011-1-12') | +------------------------------------+ | 59 | +------------------------------------+ ``` 使用`DATEDIFF()`,我們可以得出兩個日期之間的天數。 ```sql mysql> SELECT DAYNAME('1982-4-12'), MONTHNAME('1982-4-12') ; +----------------------+------------------------+ | DAYNAME('1982-4-12') | MONTHNAME('1982-4-12') | +----------------------+------------------------+ | Monday | April | +----------------------+------------------------+ ``` `DAYNAME()`函數返回日期的日期名稱。 `MONTHNAME()`函數返回日期的月份名稱。 ```sql mysql> SELECT WEEKOFYEAR('110123'), WEEKDAY('110123'), -> QUARTER('110123'); +----------------------+-------------------+-------------------+ | WEEKOFYEAR('110123') | WEEKDAY('110123') | QUARTER('110123') | +----------------------+-------------------+-------------------+ | 3 | 6 | 1 | +----------------------+-------------------+-------------------+ ``` 2011 年 1 月 23 日可以用縮短的日期格式 110123 書寫。我們使用`WEEKOFYEAR()`來確定一年中的星期。 `WEEKDAY()`返回 6,即星期日。 并且`QUARTER()`函數返回一年的季度。 ```sql mysql> SELECT DATE_FORMAT('110123', '%d-%m-%Y'); +-----------------------------------+ | DATE_FORMAT('110123', '%d-%m-%Y') | +-----------------------------------+ | 23-01-2011 | +-----------------------------------+ ``` 要以其他格式顯示日期,我們使用`DATE_FORMAT()`。 ```sql mysql> SELECT DATE_ADD('110123', INTERVAL 45 DAY), -> SUBDATE('110309', INTERVAL 45 DAY); +-------------------------------------+------------------------------------+ | DATE_ADD('110123', INTERVAL 45 DAY) | SUBDATE('110309', INTERVAL 45 DAY) | +-------------------------------------+------------------------------------+ | 2011-03-09 | 2011-01-23 | +-------------------------------------+------------------------------------+ ``` 我們可以使用`DATE_ADD()`為日期添加時間間隔,并使用`SUBDATE()`從日期中減去時間間隔。 ## 系統函數 系統函數提供了有關 MySQL 數據庫的一些系統信息。 ```sql mysql> SELECT VERSION(), DATABASE(); +--------------------+------------+ | VERSION() | DATABASE() | +--------------------+------------+ | 5.1.41-3ubuntu12.8 | mydb | +--------------------+------------+ ``` 我們得到 MySQL 數據庫的版本和當前的數據庫名稱。 ```sql mysql> SELECT USER(); +----------------+ | USER() | +----------------+ | root@localhost | +----------------+ ``` `USER()`函數返回客戶端提供的用戶名和主機名。 ```sql mysql> SELECT CHARSET('ZetCode'), COLLATION('ZetCode'); +--------------------+----------------------+ | CHARSET('ZetCode') | COLLATION('ZetCode') | +--------------------+----------------------+ | utf8 | utf8_general_ci | +--------------------+----------------------+ ``` `CHARSET()`函數返回參數的字符集。 `COLLATION()`返回當前字符串參數的排序規則。 它們取決于使用中的客戶端的字符集和排序規則。 在 MySQL 教程的這一部分中,我們使用了內置的 MySQL 函數。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看