博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL语句中的N'xxxx'意思-如N'string'
阅读量:4982 次
发布时间:2019-06-12

本文共 1064 字,大约阅读时间需要 3 分钟。

SQL语句中的N'xxxx'是什么意思

我们在一些sql存储过程,触发器等中经常会见到类似 N'xxxx' 是什么意思?

例如:

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_getProByIdAndName]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[sp_getProByIdAndName]

REPLACE(@pstrin, N''''N'''''')

-----------------------------------------------------------------------------------------------------------------------

Answer:

N'xxx' 标识将单引号中的xxx强制转换为Unicode编码的字符,不用在中文情况下会出现乱码.

因为在英文中常用的是ASCII码(一个字符占一个字节),而我们用的中文一个汉字就要占两个字节所以要用N'xxx'强制转换为Unicode编码的字符,这样单引号中不管是英文字符还是汉字一个都占两个字节,统一起来,不会出现乱码!

SQL语句中的N'xxxx'是什么意思

 

 

加上 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 数据。
Unicode 字符串常量支持增强的排序规则。

转载于:https://www.cnblogs.com/kevin1988/p/3505903.html

你可能感兴趣的文章
C#学习总结
查看>>
python字符串实战
查看>>
SQL学习笔记之B+树的几点总结
查看>>
力扣——字符的最短距离
查看>>
列表的操作
查看>>
8 通用输入输出口
查看>>
矩阵与坐标系
查看>>
Java生鲜电商平台-服务器部署设计与架构
查看>>
Struts结合马士兵视频的学习经验
查看>>
MVC中局部视图的使用
查看>>
怎么接音响
查看>>
NPOI创建Word
查看>>
制单表查询all终于搞定了辅助核算显示
查看>>
Linux进程通信的几种方式总结
查看>>
DNS用的是TCP协议还是UDP协议
查看>>
JDK8集合类源码解析 - HashSet
查看>>
[面试没有回答上的问题4]常用字符串和数组的操作。
查看>>
WPF知识点全攻略09- 附加属性
查看>>
敏捷开发 流程 - 及产出
查看>>
关于SQL Server 2017中使用json传参时解析遇到的多层解析问题
查看>>