以下の単純なクエリの何が問題になっていますか?私はそれをグーグルしようとしましたが見つかりませんでした
IF 1 = 1 THEN
SELECT 1;
ELSE
SELECT 12;
END IF;
必要なのは CASE
expression です。これは、条件付きの実装であり、すべての主要なデータベースでサポートされている標準SQLメソッドです。
SELECT CASE WHEN 1 = 1 THEN 1 ELSE 12 END;
または、 まったくばかげた独自のIF
ステートメント を使用できます。
SELECT IF( 1=1, 1, 12 );
構文は実際には有効だと思います。 MySQLのドキュメントで同様のステートメントを見つけることができます。
ただし、これは制御フローステートメントと見なされ、MySQLのストアドプログラムでのみ許可されます。これはストアドプログラムの内部にあるとは言わないので、そうではないと思います。正しい場合は、質問を編集して詳細を入力してください。
これをoutsideストアドプログラムで実行しようとしている場合は、 Evan Carroll の回答を参照してください。