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

SQL Server(T-SQL)でデータベースのANSI_NULLS設定を見つける方法

    SQLServerにはANSI_NULLSがあります NULLの方法を決定する設定 Equals(=)を使用して別の値と比較すると、値が評価されます。 )および等しくない(<> )比較演算子。

    ANSI_NULLSを変更できるのは事実ですが セッションレベルでの設定(SET ANSI_NULLSを使用) )、各データベースにも独自のANSI_NULLSがあります 設定。

    データベースをチェックして、そのANSI_NULLSかどうかを確認できます。 設定はON またはOFF

    T-SQLでこれを行うには、sys.databasesを使用できます。 カタログビューまたはDATABASEPROPERTYEX() 機能。

    sys.databases 表示

    sys.databases カタログビューには、SQLServerインスタンスの各データベースに関する多くの情報が含まれています。

    次のクエリは、ANSI_NULLSを返します Musicの設定 データベース:

    SELECT is_ansi_nulls_on 
    FROM sys.databases
    WHERE name = 'Music';

    結果:

    +--------------------+
    | is_ansi_nulls_on   |
    |--------------------|
    | 1                  |
    +--------------------+

    この場合、ANSI_NULLS ONです このデータベース用。

    OFFにすることができます このように:

    ALTER DATABASE Music
    SET ANSI_NULLS OFF;

    WHEREを削除できます sys.databasesを使用する場合の句 すべてのデータベースのデータを返すカタログビュー。このように:

    SELECT 
        name,
        is_ansi_nulls_on 
    FROM sys.databases
    ORDER BY name ASC;

    このビューには、is_ansi_null_default_onという列もあります。 、ANSI_NULL_DEFAULTを返します データベースの設定。

    ANSI_NULL_DEFAULT 設定により、デフォルト値NULLが決まります またはNOT NULLCREATE TABLEでnull可能性が明示的に定義されていない列またはCLRユーザー定義型の またはALTER TABLE ステートメント。

    前の例を変更して、この列を含めることができます:

    SELECT
        name,
        is_ansi_nulls_on,
        is_ansi_null_default_on
    FROM sys.databases
    ORDER BY name ASC;

    DATABASEPROPERTYEX() 機能

    これらの設定を確認する別の方法は、DATABASEPROPERTYEX()を使用することです。 機能。

    ANSI_NULLSを確認する方法は次のとおりです Musicの設定 DB:

    SELECT DATABASEPROPERTYEX('Music','IsAnsiNullsEnabled');

    結果:

    +--------------------+
    | (No column name)   |
    |--------------------|
    | 0                  |
    +--------------------+

    現在は0 OFFの場合 OFFに設定したので 前の例で。

    ANSI_NULL_DEFAULTを確認するには 設定、これを行います:

    SELECT DATABASEPROPERTYEX('Music','IsAnsiNullDefault');

    結果:

    +--------------------+
    | (No column name)   |
    |--------------------|
    | 1                  |
    +--------------------+

    1. クエリ構文に置き換える

    2. テーブルAPIとトランザクションAPIの違いを理解する

    3. Oracle SQL Developerでストアドプロシージャを編集する方法は?

    4. 日付から曜日の名前を取得するにはどうすればよいですか?