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

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

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

例如:

1
2
3
4
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编码的字符,这样单引号中不管是英文字符还是汉字一个都占两个字节,统一起来,不会出现乱码!

转载:

https://www.cnblogs.com/wanshutao/p/4128016.html

作者

zhang

发布于

2020-06-01

更新于

2023-09-19

许可协议

CC BY-NC-SA 4.0

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×