sql server 处理特殊字符问题

对于中文版的SQL SERVER,默认安装后使用的默认排序规则为Chinese_PRC_CI_AS,在此排序规则下,使用varchar类型来可以“正常存取”存放中文字符以及一些东南亚国家的字符,

同时varchar类型在存放英文字符和数字时比nvarchar节省一半的存储空间,因此很多DBA都习惯使用varchar类型来存放字符数据,但这样便存在一些乱码隐患!

首先是特殊字符如上下标或版权字符,测试Code如下:

CREATE TABLE [dbo].[Chars](
    [Id] [int] IDENTITY(1,1) primary Key NOT NULL, 
    [Char1] [nvarchar](60) NULL,
    [Char2] [varchar](60) NULL
) 
GO

1、加N插入数据:

--加N 情况
INSERT INTO [Chars](Char1,Char2)
SELECT N'',N''

2、查询结果

3、不加N插入数据

--不加N情况
INSERT INTO [Chars](Char1,Char2)
SELECT '',''

4、查询结果

 

posted @ 2019-07-01 11:31  大空白纸  阅读(2384)  评论(0编辑  收藏  举报