我們可以檢查#t1
是否存在使用OBJECT_ID('TEMPDB..#t1')
。OBJECT_ID('TEMPDB ..#t1')和OBJECT_ID(N'TEMPDB ..#t1')是否有區別
但我也看過很多次OBJECT_ID(N'TEMPDB..#t1')
。
我已經搜索了,但沒有得到任何答案。他們之間有任何真正的區別?
如果有什麼區別,那麼使用哪一個?
我們可以檢查#t1
是否存在使用OBJECT_ID('TEMPDB..#t1')
。OBJECT_ID('TEMPDB ..#t1')和OBJECT_ID(N'TEMPDB ..#t1')是否有區別
但我也看過很多次OBJECT_ID(N'TEMPDB..#t1')
。
我已經搜索了,但沒有得到任何答案。他們之間有任何真正的區別?
如果有什麼區別,那麼使用哪一個?
首先, 在OBJECT_ID(N'TEMPDB..#t1')
-
「Ñ」 用於指定一個unicode字符串。
第二件事,這兩種語法都可以工作,但這取決於您的要求。
PS:N'
表示 - 發送unicode字符。
第一個:OBJECT_ID('TEMPDB..#t1')
使用varchar表示法,第二個:OBJECT_ID(N'TEMPDB..#t1')
使用nvarchar表示法。
但行爲是相同的
語法是:
OBJECT_ID ('[ database_name . [ schema_name ] . | schema_name . ]
object_name' [ ,'object_type' ])
參數
' object_name '
是要使用的對象。 object_name是varchar或nvarchar。 如果object_name是varchar,則它將隱式轉換爲nvarchar。指定數據庫和模式名稱是可選的。
' object_type '
是架構範圍的對象類型。 object_type是varchar或nvarchar。如果object_type是varchar,則它隱式轉換爲nvarchar。有關對象類型的列表,請參閱sys.objects(Transact-SQL)中的類型列。
使用
N
將代表一個字符串作爲nvarchar的。
我認爲你的qustion與'N'有關,這裏是答案..http://stackoverflow.com/a/14353275/1460657 –
謝謝Anant我知道了。這篇文章詳細解釋了我。 –