Mysql

如何使用 MySQL 編寫條件語句 (IF)?

  • January 21, 2022

下面的簡單查詢有什麼問題?我試圖用Google搜尋但沒有找到

IF 1 = 1 THEN
 SELECT 1;
ELSE
 SELECT 12;
END IF;

我相信語法實際上是有效的;您可以在 MySQL 文件中找到類似的語句。

但是,它被認為是控制流語句,並且只允許在 MySQL 中的儲存程序中使用。您沒有說這是在儲存程序中,所以我假設它不是。如果是,請編輯您的問題以提供更多詳細資訊。

如果您嘗試在儲存程序之外執行此操作,請參閱Evan Carroll的回答。

你想要的是一個CASE表達式,它是實現條件的標準 SQL 方法,並被每個主要數據庫支持,

SELECT CASE WHEN 1 = 1 THEN 1 ELSE 12 END;

或者您可以使用完全愚蠢和專有的IF聲明

SELECT IF( 1=1, 1, 12 );

引用自:https://dba.stackexchange.com/questions/214030