ほとんど(おそらくすべて )プログラミング言語には、何らかの形式のIF
が含まれます プログラマーが条件付きコードを記述できるようにするステートメント。つまり、 ifの場合にのみ実行されるコード 特定の条件が真です。
とてもシンプルなコンセプトです。基本的には次のようになります:
「もしそうなら、そうしてください。」
ほとんどの言語は単にそれをIF
と呼んでいます 、ただし、名前に独自のひねりを加えたものもあります(たとえば、ColdFusion / CFMLでは、CFIF
と呼ばれます。 。
いずれにせよ、彼らは本質的に同じことをします。
SQL Server(より正確にはそのプログラミング言語T-SQL)では、IF
と呼ばれます。 。
例
IF
がどのように機能するかを示す基本的な例を次に示します。 ステートメントは機能します。
IF 1 < 2 SELECT 'True';
結果:
True
この場合、評価する式は1 < 2
です。 。 1が2未満であることは事実なので、SELECT
ステートメントが実行され、True
返されました。
ただし、式がfalseの場合、何も起こりません。
次の例はこれを示しています:
IF 1 > 2 SELECT 'True';
結果:
Commands completed successfully.
SQL Serverが教えてくれたのは、コマンドが正常に完了したということだけです。他に何も指定されていないため、他に何も返されませんでした。
IF…ELSEステートメント
SQL Serverでは、IF
ステートメントには、オプションのELSE
が付属しています 、式がfalseを返した場合に、代替手段を提供できます。
したがって、「これなら、これをやる、そうでなければ、これをやる」と言っているようなものです。
この場合、オプションのELSE
を追加できます IF
に ステートメント、それがIF... ELSE
になるように ステートメント。
IF 1 > 2
SELECT 'True';
ELSE
SELECT 'False';
結果:
False
これで、式がfalseの場合にも結果が得られます。
ネストされたIFステートメント
IF
の優れた点の1つ ステートメントは、それらをネストできるということです。つまり、IF
をさらに追加できます 元のステートメント内のステートメント、およびそれらの内部のステートメントなど
IF
をいくつでもネストできます あなたが好きなようにステートメント。使用可能なメモリの量によってのみ制限されます。
IF
をネストする例を次に示します。 別の内部のステートメント。
DECLARE @bankBalance int = 123;
IF @bankBalance > 100
IF @bankBalance > 150
SELECT 'Rich!';
ELSE
SELECT 'Wealthy';
ELSE
SELECT 'Poor';
結果:
Wealthy
IF…ELSEIFステートメント
IF... ELSE IF
としても使用できます 声明。
DECLARE @bankBalance int = 123;
IF @bankBalance > 150
SELECT 'Rich!';
ELSE IF @bankBalance > 100
SELECT 'Wealthy';
ELSE
SELECT 'Poor';
結果:
Wealthy