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

SQLServerのSelectステートメントでNull値を不明に置き換える方法-SQLServer/TSQLチュートリアルパート111

    シナリオ:


    SQL Server開発者として作業している場合は、dbo.Customerテーブルにクエリを実行し、[名前]列のNull値を[不明な名前]に置き換える必要があります。 Null値を「不明な名前」に置き換えるために使用するSQL関数はどれですか?


    解決策:

    ISNULLまたはCOALESCE関数を使用して、Nullを任意の値に置き換えることができます。以下のステートメントを使用して、dbo.Customerテーブルを作成し、サンプルレコードを挿入しましょう。

    --dbo.Customerテーブルを作成します。テーブルを作成します。dbo.Customer(Id int、Name VARCHAR(10)、Address VARCHAR( 100))--dbo.Customerテーブルにレコードを挿入しますdbo.CustomerValues(1、'Aamir'、'XyZ Address')、(2、'Raza'、Null)、(3、null、'abc address')<に挿入します/ pre> 
     
     
     
     
    ISNULLまたはCOALESCE関数を使用して、Nullを「不明な名前」に置き換えましょう。
     Select Id、ISNULL(Name、'Unknown Name')AS NameByISNull、COALESCE(Name、'Unknown Name')NamebyCoalesce、Address From dbo.Customer 
     
     
    >
    SQLServerでNullを値に置き換える方法-TSQLチュートリアル


     
    ISNULLを使用し、Nullを「UnknownName」に置き換えたのに「UnknownNa」が返されたことがわかるように、完全な「UnknownName」は返されませんでした。そのため、ISNULL式のデータ型は、最初の入力(Name列)のデータ型であるvarchar(10)です。つまり、常に10文字が返されます。
    このような状況が発生した場合は、 COALESCEを使用することをお勧めします。COALESCE式のデータ型は、データ型の優先順位が最も高い入力引数のデータ型です。この場合、「Unknow Name」は12文字であり、varchar(10)であるName列のデータ型の代わりにそれを使用することを選択しました。



    1. SQLServerデータベースをAccess2016にインポートする方法

    2. HerokuPGダンプをローカルマシンにインポートする方法

    3. psycopg2.OperationalError:致命的:サポートされていないフロントエンドプロトコル1234.5679:サーバーは2.0から3.0をサポートします

    4. AccessとExcelを一緒に使用するトップ10の理由