MySQL 函數是 MySQL 數據庫的重要組成部分。使用這些內置函數,開發人員可以以最小的代碼量實現許多功能。在本文中,我們將深入探討 MySQL 函數的進階用法。
MySQL 函數可以分為三類:聚合函數、字符串函數和日期時間函數。下面我們將介紹每類函數的進階用法。
聚合函數
聚合函數包括 COUNT、MIN、MAX、SUM 和 AVG。以下是一些進階用法示例。
SELECT COUNT(DISTINCT column) FROM table; -- 計算唯一值的數量
SELECT GROUP_CONCAT(column) FROM table; -- 把結果拼接為一個字符串
SELECT COUNT(column) FROM table WHERE column IS NOT NULL; -- 計算非空值的數量
字符串函數
字符串函數包括 CONCAT、SUBSTR、LENGTH 和 TRIM 等。以下是一些進階用法示例。
SELECT CONCAT_WS(' - ', first_name, last_name) FROM table; -- 用分隔符拼接多個列
SELECT SUBSTR(column, 1, 10) FROM table; -- 取字符串的前 10 個字符
SELECT LENGTH(column) - LENGTH(REPLACE(column, ' ', '')) + 1 FROM table; -- 計算字符串中單詞的數目
日期時間函數
日期時間函數包括 NOW、YEAR、MONTH 和 STR_TO_DATE 等。以下是一些進階用法示例。
SELECT DATE_FORMAT(date_column, '%Y-%m-%d') FROM table; -- 將日期格式化為指定格式
SELECT DATEDIFF(date_column_1, date_column_2) FROM table; -- 計算兩個日期之間的天數
SELECT DATE_ADD(date_column, INTERVAL 1 MONTH) FROM table; -- 添加一個月到日期
以上是 MySQL 函數的進階用法示例。使用這些函數可以讓查詢變得更加高效簡潔。
上一篇mysql 函數技巧