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 @   大空白纸  阅读(2397)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示