sql >> データベース >  >> RDS >> Sqlserver

SQLServerの論理演算子とは-SQLServer/TSQLチュートリアルパート124

    論理演算子とは:


    BETWEENは、オペランドが範囲内にある場合にTRUEを返します。 BETWEEN論理演算子は、オペランドが範囲内にある場合に行を返したい場合に使用されます。

    シナリオ:

    dbo.Cutomerテーブルがあり、列の1つがAgeであるとします。 33〜60歳のdbo.Customerテーブルからすべてのレコードを返したい場合。どの論理演算子を使用できますか?

    解決策:

    BETWEEN論理演算子を使用して範囲をテストできます。 Trueの場合、行は返されません。
    Create table dbo.Customer
     (Id int,
      FName VARCHAR(50),
      LName VARCHAR(50),
      CountryShortName CHAR(2),
      Age tinyint)
    GO
    insert into dbo.Customer
    Values (
    1,'Raza','M','PK',20),
    (2,'Rita','John','US',12),
    (3,'Sukhi','Singh',Null,25),
    (4,'James','Smith','CA',60),
    (5,'Robert','Ladson','US',54),
    (6,'Alice','John','US',87),
    (7,'Raza','M','US',33),
    (8,'Dita','M','US',15),
    (9,'Adita','M','US',29)
     
     
     
     test_expressionの値がbegin_expressionの値以上で、end_expressionの値以下の場合、BETWEENはTRUEを返します。
    以下のクエリを使用して、年齢が33〜60の場合にすべての行を返すことができます。 。
    Select * From dbo.Customer
    where Age between 33 and 60
     
    論理演算子を使用して範囲をチェックし、行を返す方法-SQL Server/TSQLチュートリアル
     
    また、テスト式の値が開始式の値よりも小さいか、終了式の値よりも大きい場合にTRUEを再実行するNOTBETWEENを使用することもできます。Ageがより小さいすべてのレコードを返す場合33または60を超える場合は、以下に示すようにNOTBETWEENを使用できます。
    Select * From dbo.Customer
    where Age NOT between 33 and 60
    SQLServerクエリでNOTBETWEENを使用する方法-SQLServer/TSQLチュートリアル



    ビデオデモ:SQLServerでBetweenとNotBetweenを使用する方法
     


    1. Oracleで重複行を選択する6つの方法

    2. SQLiteでコンマを使用して数値をフォーマットする

    3. 動的SQLの結果を変数に割り当てます

    4. 2つの列の組み合わせに対する一意の制約?