`
adrian251
  • 浏览: 7387 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

SQL中N $ # @的作用

 
阅读更多

 

declare @sql nvarchar(4000)
set @sql= N'select @TotalRecords=count(*) from ' + N'(' + @sqlFullPopulate + N') a '
EXEC sp_executesql @sql,N'@TotalRecords int output', @TotalRecords output


问题:@sql= 后面有个N, N 起什么作用?

答案:
      加上 N 代表存入数据库时以 Unicode 格式存储。 
      N'string' 表示string是个Unicode字符串 

      Unicode 字符串的格式与普通字符串相似,但它前面有一个 N 标识符(N 代表 SQL-92 标准中的国际语言 (National Language))。N 前缀必须是大写字母。例如,'Michél' 是字符串常量而 N'Michél' 则是 Unicode 常量。Unicode 常量被解释为 Unicode 数据,并且不使用代码页进行计算。Unicode 常量确实有排序规则,主要用于控制比较和区分大小写。为 Unicode 常量指派当前数据库的默认排序规则,除非使用 COLLATE 子句为其指定了排序规则。Unicode 数据中的每个字符都使用两个字节进行存储,而字符数据中的每个字符则都使用一个字节进行存储。有关更多信息,请参见使用 Unicode 数据。

· 下划线(_),at符号(@),或者数字符号(#)

在SQL Server中以这些符号作为标识符的开始具有特殊的含义。一个以at符号(@)开头的标识符表示一个本地的变量或者参数。一个以数字符号(#)开头的标识符代表一个临时表或者过程。一个以两个数字符号(##)开头的标识符标识的是一个全局临时对象。一些Transact-SQL函数的名字以两个at符号(@@)开头。为了避免与这些函数混淆,推荐你不要使用两个at符号(@@)开头的标识符。接下来的字母可以是以下的任意几种:

· Unicode Standard 2.0定义的字母

· 来自基础拉丁文或者其他语音的十进制数字

· at符号(@),美元符号($),数字符号(#),或者下划线

分享到:
评论

相关推荐

    hxzy.sql ############## 项目部署测试sql文件

    hxzy.sql ############## 项目部署测试sql文件

    动态SQL 并且把返回的值赋给变量

    在SQL Server中,动态SQL是一种强大而灵活的工具,允许开发人员根据运行时条件构建并执行SQL查询。本文将详细介绍如何利用`sp_executesql`来执行动态SQL,并重点讨论如何将执行结果赋值给变量,以及一些重要的注意...

    DB2中几种遇到的SQL1032N出错的解决

    DB2中几种遇到的SQL1032N出错的解决

    DB2 SQL 消息

    - **SQL0121N:** 表示同一SQL语句中相同变量重复赋值。 - **SQL0122N:** 表示`SELECT`语句中缺少`GROUP BY`子句。 - **SQL0123N:** 表示表达式中缺少操作符。 - **SQL0125N:** 表示`ORDER BY`子句中缺少有效的排序键...

    SQL Server EXEC和sp_executesql的区别

    在SQL Server中,执行动态SQL或存储过程时,开发人员通常面临选择使用`EXEC`还是`sp_executesql`的问题。这两种方法虽然都能达到目的,但在功能、性能及安全性等方面存在显著差异。本文将详细介绍这两者的区别,并...

    Hibernate_NSQL&HQL增删改操作

    ### Hibernate中的NSQL与HQL增删改操作详解 #### NSQL(Native SQL)与HQL(Hibernate Query Language) 在Hibernate框架中,进行数据库操作时,开发者可以选择使用两种不同的查询语言:NSQL(Native SQL)和HQL...

    DB2恢复时报错,SQL2017N,/usr/lib/libnsrdb2.o 1

    总之,处理DB2恢复过程中的SQL2519N和SQL2071N错误需要理解数据库的配置以及日志归档机制。通过检查和修改数据库配置,以及适时地执行数据库升级,我们可以解决这些问题,确保数据库能够在新的环境中正常运行。在...

    DB2的SQL1032N

    在DB2连接时,客户端出现 SQL1032N的错误有可能是DB2的认证信息过期了,或者启动DB2启动不了、列出db2 list active database等等,有报错包里面有错误的解释、操作的文件和把DB2修改成永久的的文件

    向shell或者sql脚本传参或接收参数的方法

    - `$@`:所有参数列表,每个参数被双引号包围,如`"$@"`。 - `$$$`:当前Shell脚本的进程ID(PID)。 - `$!`:上一个后台命令的PID。 理解这些参数传递机制对于编写高效且可复用的Shell和SQL脚本至关重要,能帮助你...

    SQL 系统存储过程用法整理

    存储过程是预编译好的SQL语句集合,在数据库中被创建并保存,用户可以通过简单的调用来执行这些存储过程,从而达到提高性能、简化复杂操作的目的。SQL Server提供了丰富的系统存储过程,它们能够帮助DBA和开发者完成...

    截取用,分割的字符串中的第n个字符串 SQL

    根据给定的信息,本文将详细解释如何在SQL中实现截取用特定字符分割的字符串中的第n个子字符串。此需求通常应用于数据处理与分析场景中,尤其在处理半结构化或非结构化的文本数据时非常有用。 ### 核心知识点解析 ...

    SQL语句实现跨Sql server数据库操作实例

    假设需要将192.168.1.2的SQL Server实例(数据库名为TT)中表test2的数据插入到192.168.1.1的SQL Server实例(同样数据库名为TT)中的表test1中。 **SQL语句示例**: ```sql INSERT INTO OPENQUERY( [远程服务器...

    SQLServer创建连接服务器

    在SQL Server环境中,创建连接服务器是一项重要的配置步骤,它允许不同数据库实例或异构数据源之间进行数据交换。通过连接服务器,可以实现跨服务器查询、远程过程调用等功能,这对于分布式应用程序尤其有用。 ####...

    PB脚本中SQL语句写法与SQL中语句写法对照

    PB脚本中SQL语句写法与SQL中语句写法对照 PB脚本中SQL语句写法与SQL中语句写法对照是非常重要的知识点,因为PB脚本和SQL语言在写法和应用中有所不同。本文将对PB脚本中SQL语句写法和SQL中语句写法进行对比和分析。 ...

    SQL Plus常用命令

    本文将详细介绍SQL Plus中的几个基本命令:`desc`命令、`L`命令、`n`命令、`save`命令以及`spool`命令,并结合部分实际应用场景加以说明。 #### 二、`desc`命令 `desc`命令用于显示表或视图的结构信息,包括字段名...

    SQL作业全操作代码

    根据提供的文件信息,我们可以归纳出一系列关于SQL作业(也称为SQL任务或作业)的重要知识点,尤其是在维护数据库系统中实现自动化及周期性数据处理时的应用。 ### SQL作业全操作代码解析 #### 1. 创建SQL作业的...

    在VMWare中配置SQL Server 2005 N+1群集

    在VMware环境中配置SQL Server 2005 N+1群集是一项复杂而重要的任务,它涉及到多个层面的技术,包括虚拟化、网络、存储以及数据库管理。以下将详细阐述这一过程中的关键知识点。 首先,理解N+1群集的概念至关重要。...

    sql server2008轻松编写t-sql存储过程

    其中,T-SQL(Transact-SQL)是SQL Server的主要查询语言,被广泛应用于各种数据处理任务中。本文将重点介绍如何在SQL Server 2008环境中轻松编写T-SQL存储过程,并通过具体的示例来展示其实现方法。 #### 二、SQL ...

    sql语句的基本介绍和用法

    EXEC sp_executesql @sqls, N'@a INT OUTPUT', @num OUTPUT; SELECT @num; ``` #### 四、SQL Server Identity Column `Identity`列是SQL Server中的一种特殊类型的列,它可以自动递增。这种列通常用于自动生成主...

Global site tag (gtag.js) - Google Analytics