You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:47:25