3

またはSET ANSI_NULLSを使用して の値を変更できますSET ANSI_NULLS OFFSET ANSI_NULLS ON

Question #1現在の値 を取得するにはどうすればよいですか?

Question #2 値の設定はクエリに適用されますか? テーブル?実例?データベース全体?

Question #3を行う会社に入社する場合if myNullParam <>null、どこを確認して (db ? schema? query ?) 確認する必要があります?

ありがとう。

4

4 に答える 4

7
  1. select databasepropertyex('MyDatabaseName', 'IsAnsiNullsEnabled')データベースのデフォルトが表示されます。Hiteshの答えは、現在のセッションの価値を教えてくれます。
  2. データベースにはデフォルトの設定があり、各セッションはデータベースのデフォルトをオーバーライドできます。
  3. セッション値。ただし、MSDNのドキュメントには、For a script to work as intended, regardless of the ANSI_NULLS database option or the setting of SET ANSI_NULLS, use IS NULL and IS NOT NULL in comparisons that might contain null values. 動作する可能性はあるものの、ベストプラクティスに反していると記載されています。
于 2012-06-30T09:03:40.120 に答える
4

答え 1

以下のクエリを実行して、ANSI_NULLS が設定されているかどうかを取得できます。

DECLARE @options INT
SELECT @options = @@OPTIONS
IF ( (32 & @options) = 32 ) PRINT 'ANSI_NULLS'

印刷するANSI_NULLS場合ANSI_NULLSは、設定されているか、設定されていません。

ここで詳細なヘルプを見つけることができますhttp://www.mssqltips.com/sqlservertip/1415/determining-set-options-for-a-current-session-in-sql-server/

于 2012-06-30T08:50:16.083 に答える