2012-06-30 32 views
2

我可以用SET ANSI_NULLS OFFSET ANSI_NULLS ONSQL Server中的ANSI_NULLS標誌?

問題#1我怎樣才能得到當前值改變SET ANSI_NULLS價值?

問題#2確實設置了一個值應用於查詢嗎?表?實例?整個數據庫?

問題#3如果我進入公司,做if myNullParam <>null,什麼是我應該檢查(DB模式查詢???)的地方,告訴他們 - 這要去工作,或不

謝謝。

+0

@marc_s,謝謝糾正我。 (一如既往:)) –

+0

不客氣! –

回答

6
  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.因此,雖然它可能有效,但肯定會違反最佳做法。
+1

您的查詢不起作用,與Hitesh'es相反http://i.stack.imgur.com/HufaY.jpg –

+0

@RoyiNamir:如何指定*您的*數據庫的名稱? :) –

+1

(僅爲完整性)該文檔還說:'在SQL Server的未來版本中,ANSI_NULLS將始終爲ON,並且任何明確將該選項設置爲OFF的應用程序都將生成錯誤。 –

0

您可以檢查所有通過以下所提及般

DBCC USEROPTIONS

1

您可以使用此查詢來獲取給定數據庫的屬性設置:

SELECT is_ansi_nulls_on FROM sys.databases WHERE name = 'yourDatabase'