MySQL 中的內建函式

把我覺得不錯用的記下來。

取得目前時間

1
SELECT NOW() AS now;

now

設定日期格式

我最常用 X年X月X日 的格式來輸出,所以這邊拿這個舉例:

1
SELECT DATE_FORMAT('2022-02-17 23:29:16', '%Y年%c月%e日') AS formated;

date_format

順便附上用 PHP 的寫法:

1
2
3
4
5
6
7
8
9
10
$date = '2022-02-17 23:29:16';
$format = '%Y年%c月%e日';

$sql = "SELECT DATE_FORMAT(?, ?) AS formated";
$stmt = $conn->prepare($sql);
$stmt->bind_param('ss', $date, $format);
$stmt->execute();
$result = $stmt->get_result();
$row = $result->fetch_assoc();
$created_at = htmlspecialchars($row['formated']);

更多的格式語法可以參考這裡

計算欄位總數

備註:COUNT() 裡面放要計算的 column。

這邊是計算沒被刪除的文章數量:

1
SELECT COUNT(posts.id) AS total FROM posts WHERE posts.is_deleted = 0;

count

找出欄位的最大值

備註:MAX() 裡面放要計算的 column。

這邊是找出 id 最大的欄位:

1
SELECT MAX(id) AS id FROM todos; 

max

計算總和

這邊是把所有 id 加總結果:

附註:12 + 18 + 19 + 20 + 21

1
SELECT SUM(categories.id) AS sum FROM `categories`;

sum

計算平均值

這邊是把所有 id 加總後的平均值:

附註:90 / 5

1
SELECT AVG(categories.id) AS average FROM `categories`

average

把多欄合併成一欄

這邊是把 id 和 name 給合併成一個欄位:

1
SELECT CONCAT(categories.id, categories.name) AS id_and_name FROM `categories`;

concat

Bootstrap 客製化 mentor-program-day67
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×