SQL Server除N前缀外还有哪些其他可用的前缀标识符?
T-SQL中除N前缀外的其他常用前缀标识符
嘿,很高兴你已经搞懂了N前缀的用法!关于T-SQL里其他的前缀标识符,我整理了几个常见且实用的,给你唠唠:
@ 和 @@ 前缀
@用来声明局部变量,比如:DECLARE @UserID INT = 1001; SELECT * FROM Users WHERE ID = @UserID;@@则对应系统全局变量,这些是SQL Server内置的、用来获取系统状态或执行信息的变量,比如:@@ROWCOUNT:返回上一条T-SQL语句影响的行数@@VERSION:返回当前SQL Server的版本信息@@ERROR:返回上一条语句执行的错误代码(不过现在更推荐用TRY...CATCH捕获错误啦)
# 和 ## 前缀
这俩是用来标识临时表的:#开头的是本地临时表,只在当前会话中可见,会话结束后自动销毁,比如:CREATE TABLE #TempOrders (OrderID INT, OrderDate DATETIME);##开头的是全局临时表,创建后所有会话都能访问,直到创建它的会话结束且没有其他会话在使用它时,才会被销毁。
0x 前缀
这个你之前也提到过,用来表示二进制常量,比如0x48656C6C6F对应的就是字符串'Hello'的ASCII二进制表示,常用于存储或操作二进制数据,比如:DECLARE @BinaryData VARBINARY(MAX) = 0x48656C6C6F; SELECT CONVERT(VARCHAR(MAX), @BinaryData) AS ConvertedString; -- 输出Hello$ 前缀
这个主要用在XML相关的操作里,作为XML变量或节点的引用标识。比如在XQuery中,$用来指定上下文节点或者引用XML变量:DECLARE @XmlData XML = '<Users><User ID="1" Name="Alice"/></Users>'; SELECT @XmlData.value('($/Users/User/@Name)[1]', 'NVARCHAR(50)') AS UserName; -- 输出Alice
内容的提问来源于stack exchange,提问作者Doug Coats
相关产品推荐
相关产品推荐

