MySQL 的 CASE 語句是一種非常強大和靈活的語句,它允許你基于條件執行不同的 SQL 語句。 CASE 語句可以用于多種情況,在本文中,我們將為您提供使用 MySQL 中 CASE 語句的一些示例。
-- 基本 CASE 語句 SELECT book_name, CASE WHEN book_price >50 THEN 'Expensive' WHEN book_price<= 50 THEN 'Moderate' ELSE 'Unknown' END AS book_cost FROM books;
基本 CASE 語句的語法包括一個表達式、WHEN 語句和 END 語句。該表達式定義條件,然后根據滿足的情況執行相應的 THEN 語句。最后,ELSE 語句用于定義所有其他情況的結果。
-- 進階 CASE 語句 SELECT book_name, CASE WHEN book_author LIKE '%John%' THEN 'John Writer' WHEN book_author LIKE '%Jane%' THEN 'Jane Writer' ELSE 'Unknown' END AS book_writer FROM books;
進階 CASE 語句的語法使用相同的格式,但我們使用 LIKE 操作符來匹配字符串。如果條件滿足,則執行相應的 THEN 語句。ELSE 語句同樣用于定義所有其他情況的結果。
-- 使用 CASE 語句進行數學計算 SELECT book_name, CASE WHEN book_price >0 THEN book_price * 1.1 WHEN book_price IS NULL THEN 0 ELSE book_price END AS book_cost FROM books;
以上示例使用 CASE 語句執行數學計算。如果 book_price 的值大于 0,則將其乘以 1.1。如果 book_price 的值為 NULL,則將其轉換為 0。如果為其他情況,則直接輸出 book_price。
總而言之,MySQL 中的 CASE 語句是一種強大且能夠執行多種任務的語句。它可以用于基本條件表達式、字符串匹配和數值計算,使查詢更加靈活和有用。