我们可以使用#t1
检查OBJECT_ID('TEMPDB..#t1')
是否存在。
但我也多次见过OBJECT_ID(N'TEMPDB..#t1')
。
我已经搜索过但没有得到任何答案。他们之间有什么真正的区别吗?
如果有什么不同,那么使用哪一个?
答案 0 :(得分:3)
首先,
在OBJECT_ID(N'TEMPDB..#t1')
-
“ N ”用于指定unicode字符串。
其次,语法都可以,但这取决于你的要求。
PS :N'
表示 - 发送unicode字符。
答案 1 :(得分:1)
语法是:
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)中的type列。
使用
N
会将字符串表示为nvarchar。
答案 2 :(得分:0)
第一个:id name age country
1 alex 21 Brazil
2 maria 34 England
3 ... 56 ...
使用varchar表示法,第二个:OBJECT_ID('TEMPDB..#t1')
使用nvarchar表示法。
但行为是一样的