我们可以检查#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我知道了。这篇文章详细解释了我。 –