ホームページ >データベース >mysql チュートリアル >CASE と IIF を使用して SQL SELECT ステートメントに条件付きロジックを実装するにはどうすればよいですか?
SQL SELECT ステートメントの条件付きロジックをマスターする: CASE と IIF
SQL SELECT
ステートメント内の条件付きロジックを効率的に管理することは、データの操作とフィルタリングにとって重要です。 直接の IF...THEN
構造は標準 SQL では使用できませんが、CASE
ステートメントと IIF
(SQL Server Denali 以降) は強力な代替手段を提供します。
CASE ステートメント: SQL 条件付きの主力
CASE
ステートメントは IF...THEN
の機能を反映しており、条件を順番に評価し、最初に真の条件に基づいて値を返します。 その構造は次のとおりです:
<code class="language-sql">SELECT CASE WHEN condition1 THEN value1 WHEN condition2 THEN value2 ... ELSE default_value END AS <alias>, -- Assign an alias to the result * FROM <table_name></code>
次の実際的な応用例を考えてみましょう:
<code class="language-sql">SELECT CAST( CASE WHEN Obsolete = 'N' OR InStock = 'Y' THEN 1 ELSE 0 END AS bit) AS Saleable, -- Casts the result as a BIT (Boolean) * FROM Product</code>
CAST
演算子に注意してください。 これがなければ、結果は整数 (0 または 1) になります。 CAST
を使用すると、ブール値 (TRUE または FALSE) に変換されます。
IIF: 簡潔な条件付きオプション (SQL Server)
SQL Server は IIF
(Immediate If) ステートメントを導入し、CASE
:
<code class="language-sql">SELECT IIF(condition, true_value, false_value) AS <alias>, * FROM <table_name></code>
これがこの例にどのように適用されるかは次のとおりです。
<code class="language-sql">SELECT IIF(Obsolete = 'N' OR InStock = 'Y', 1, 0) AS Saleable, * FROM Product</code>
CASE
と IIF
は両方とも、SQL SELECT
クエリに条件付きロジックを実装し、動的なデータ操作と効率的なフィルタリングを可能にするために不可欠なツールです。
以上がCASE と IIF を使用して SQL SELECT ステートメントに条件付きロジックを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。