sql 代码看不懂.请高人解释一下
代码如下:select*frompf_ckmxwherespid=N'SPH00003390'等号后面的N代表什么?我在sqlserver里运行对结果没有影响!就是想知道...
代码如下:
select * from pf_ckmx
where spid=N'SPH00003390'
等号后面的N代表什么?
我在sql server 里运行对结果没有影响!
就是想知道N代表什么! 展开
select * from pf_ckmx
where spid=N'SPH00003390'
等号后面的N代表什么?
我在sql server 里运行对结果没有影响!
就是想知道N代表什么! 展开
展开全部
处理 Unicode 字符串常数中 SQL Server 时您必须在前面所有的 Unicode 字符串以大写的字母 N,"N"前缀代表在 sql-92 标准国家语言,而且必须为大写。如果您不执行前缀 Unicode 字符串常量,用 N,SQL Server 会将其转换为当前数据库的非 Unicode 代码页之前它将使用该字符串。
此表示法,必须提供与现有的应用程序的向后兼容性。例如对于"SELECT Hello"必须返回一个非-Unicode 字符串,因为许多应用程序将预期的不支持 Unicode 数据 ; 其中 SQL Server 6.5 行为继续在新语法"SELECT N'Hello '"已被添加到允许的 Unicode 字符串和从 SQL Server 7.0 的传递。
Unicode 数据传递给 SQL Server 任何时间必须前缀 Unicode 字符串,用 n。如果您的应用程序是支持 Unicode 的并且作为 Unicode 字符串常量,而 N 的前缀不是将数据发送到 SQL Server 7.0,您可能会遇到字符数据的丢失。当从 Unicode SQL Server 数据库的代码页、 Unicode 字符串中不存在 SQL Server 代码页中的任何字符的 Unicode 字符串但 N 不前缀 SQL Server 转换将会丢失。请注意此转换不相关 Autotranslation、 OemToAnsi,或 AutoAnsiToOem 都在 ODBC、 OLEDB,或 db-library 层客户端发生的转换。
如果您的应用程序不发送 Unicode 数据 SQL Server 和客户端的 ANSI 代码页匹配 SQL Server 代码页、 不需要的前缀字符串常量与 N,和您将不会遇到省略前缀的结果的数据丢失。但是,SQL Server 7.0 允许您选择一个 Unicode 排序规则不同于排序顺序的安装过程中,在某些情况下,这可能导致涉及以 N 为有不同的结果,从那些没有前缀的前缀的字符串操作。例如对于假设您在安装 SQL Server 7.0 时选择二进制排序次序 (订单比较非-Unicode 字符串时使用的排序),并选择作为 Unicode 排序规则的常规 Unicode (Unicode 排序规则用于比较 Unicode 字符串)。比较两个非-Unicode 字符串表达式 ("ABC"="abc") 将返回 False,因为字下沉字母"A"不是相当于一个小写字母"a"的二进制排序次序。中对比度,该表达式 (N'ABC = N'abc) 将返回 True。由于字符串使用 N 作为前缀,它们将被转换为 Unicode 和 Unicode 排序规则将用于比较它们。与不同的二进制排序通用 Unicode 排序规则不区分大小写,并将两个字符串视为等效。
请注意是否两个字符串常数操作数之一使用 N 作为前缀,并在另一种不是将被非-Unicode 字符串转换为 Unicode 和 Unicode 排序规则将应用时进行比较。
此表示法,必须提供与现有的应用程序的向后兼容性。例如对于"SELECT Hello"必须返回一个非-Unicode 字符串,因为许多应用程序将预期的不支持 Unicode 数据 ; 其中 SQL Server 6.5 行为继续在新语法"SELECT N'Hello '"已被添加到允许的 Unicode 字符串和从 SQL Server 7.0 的传递。
Unicode 数据传递给 SQL Server 任何时间必须前缀 Unicode 字符串,用 n。如果您的应用程序是支持 Unicode 的并且作为 Unicode 字符串常量,而 N 的前缀不是将数据发送到 SQL Server 7.0,您可能会遇到字符数据的丢失。当从 Unicode SQL Server 数据库的代码页、 Unicode 字符串中不存在 SQL Server 代码页中的任何字符的 Unicode 字符串但 N 不前缀 SQL Server 转换将会丢失。请注意此转换不相关 Autotranslation、 OemToAnsi,或 AutoAnsiToOem 都在 ODBC、 OLEDB,或 db-library 层客户端发生的转换。
如果您的应用程序不发送 Unicode 数据 SQL Server 和客户端的 ANSI 代码页匹配 SQL Server 代码页、 不需要的前缀字符串常量与 N,和您将不会遇到省略前缀的结果的数据丢失。但是,SQL Server 7.0 允许您选择一个 Unicode 排序规则不同于排序顺序的安装过程中,在某些情况下,这可能导致涉及以 N 为有不同的结果,从那些没有前缀的前缀的字符串操作。例如对于假设您在安装 SQL Server 7.0 时选择二进制排序次序 (订单比较非-Unicode 字符串时使用的排序),并选择作为 Unicode 排序规则的常规 Unicode (Unicode 排序规则用于比较 Unicode 字符串)。比较两个非-Unicode 字符串表达式 ("ABC"="abc") 将返回 False,因为字下沉字母"A"不是相当于一个小写字母"a"的二进制排序次序。中对比度,该表达式 (N'ABC = N'abc) 将返回 True。由于字符串使用 N 作为前缀,它们将被转换为 Unicode 和 Unicode 排序规则将用于比较它们。与不同的二进制排序通用 Unicode 排序规则不区分大小写,并将两个字符串视为等效。
请注意是否两个字符串常数操作数之一使用 N 作为前缀,并在另一种不是将被非-Unicode 字符串转换为 Unicode 和 Unicode 排序规则将应用时进行比较。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
N是一个 标识符,N 表示 spid 这个字段的类型是 NCHAR 或者 NVARCHAR,这个字段的内容是以Unicode 格式存储的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
加这个表示这是 nvarchar或nchar
跟数据库的编码格式有关
跟数据库的编码格式有关
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询