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