视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
sqlserverN.......selectN'Ø';
2020-11-09 08:11:09 责编:小采
文档


加上 N 代表存入数据库时以 Unicode 格式存储。N'string' 表示string是个Unicode字符串Unicode 字符串的格式与普通字符串相似,但它前面有一个 N 标识符(N 代表 SQL-92 标准中的国际语言 (National Language))。N 前缀必须是大写字母。例如,'Michél' 是

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



NCHAR
根据 Unicode 标准所进行的定义,用给定整数代码返回 Unicode 字符。

语法
NCHAR ( integer_expression ) 

参数
integer_expression

介于 0 与 65535 之间的所有正整数。如果指定了超出此范围的值,将返回 NULL。

返回类型
nchar(1)

示例
A. 使用 NCHAR 和 UNICODE
下面的示例使用 UNICODE 和 NCHAR 函数打印字符串 K?enhavn 第二个字符的 UNICODE 值和 NCHAR(Unicode 字符),并打印实际的第二个字符?。

DECLARE @nstring nchar(8)
SET @nstring = N'K?benhavn'
SELECT UNICODE(SUBSTRING(@nstring, 2, 1)), 
 NCHAR(UNICODE(SUBSTRING(@nstring, 2, 1)))
GO

下面是结果集:

----------- - 
248 ?(1 row(s) affected)

B. 使用 SUBSTRING、UNICODE、CONVERT 和 NCHAR
下面的示例使用 SUBSTRING、UNICODE、CONVERT 和 NCHAR 函数打印字符串 K?enhavn 的字符数、Unicode 字符以及每个字符的 UNICODE 值。


DECLARE @position int, @nstring nchar(9)
SET @position = 1
SET @nstring = N'K?benhavn'
PRINT 'Character #' + ' ' + 'Unicode Character' + ' ' + 'UNICODE Value'
WHILE @position <= DATALENGTH(@nstring)
 BEGIN
 SELECT @position, 
 NCHAR(UNICODE(SUBSTRING(@nstring, @position, 1))),
 CONVERT(NCHAR(17), SUBSTRING(@nstring, @position, 1)),
 UNICODE(SUBSTRING(@nstring, @position, 1))
 SELECT @position = @position + 1
 END
GO

下面是结果集:

Character # Unicode Character UNICODE Value
 
----------- ----------------- ----------- 
1 K 75 
 
----------- ----------------- ----------- 
2 ? 248 
 
----------- ----------------- ----------- 
3 b 98 
 
----------- ----------------- ----------- 
4 e 101 
 
----------- ----------------- ----------- 
5 n 110 
 
----------- ----------------- ----------- 
6 h 104 
 
----------- ----------------- ----------- 
7 a 97 
 
----------- ----------------- ----------- 
8 v 118 
 
----------- ----------------- ----------- 
9 n 110 
 
----------- ----------------- ----------- 
10 (null) (null) 
 
----------- ----------------- ----------- 
11 (null) (null) 
 
----------- ----------------- ----------- 
12 (null) (null) 
 
----------- ----------------- ----------- 
13 (null) (null) 
 
----------- ----------------- ----------- 
14 (null) (null) 
 
----------- ----------------- ----------- 
15 (null) (null) 
 
----------- ----------------- ----------- 
16 (null) (null) 
 
----------- ----------------- ----------- 
17 (null) (null) 
 
----------- ----------------- ----------- 
18 (null) (null)

下载本文
显示全文
专题