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、查询结果

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM