SQLServer特殊字符/生僻字与varchar

  • 时间:
  • 浏览:1
  • 来源:大发彩神IOS下载_大发神彩IOS下载官方

16

C2 NVARCHAR(150)

CAST(C2 AS VARCHAR(150)) AS C2_V

INSERT INTO TB1(C1,C2)

建议使用NVARCHAR来存放非英文字符数据理由:

理由1:VARCHAR类型存放特殊字符或生僻字时处于乱码或字符被转变的问题报告 图片

理由2:对于中文字符,使用VARCHAR和NVARCHAR消耗同样的空间,对于英文字符,使用VARCHAR比NVARCHAR节省一倍的空间,但随着磁盘成本不可不还可否 低,其提升的性能和节省的成本有限。(例外:肯能数据中处于几滴 英文字符和几滴 非英文字符,则可不还可否考虑VARCHAR类型)

理由3:对于需用国际化的企业,后期将VARCHAR升级为NVARCHAR的成本太高或难以实现

理由4:使用VARCHAR存放非英文字符时,容易生成错误的预估值,尤其在执行LIKE累似 前缀匹配的预估时。显示结果如下: 

SELECT N'm²',N'm²'

2

C1 VARCHAR(150),

当然是不是,能避开特殊字符,还得考虑“有文化的父母”给子女来点生僻字以展示有文化!!!比如五代十国中南汉的创建者刘䶮就自认为很牛叉,于是被委托人创了有另1个“䶮”字,取意为飞龙在天,不可不还可否 牛叉的意义就不招varchar的“喜欢”,测试code如下:测试结果如下:

12

C2,

14

2

对于那些特殊字符,肯能后该被使用到,比如用户姓名字段,不可不还可否 是不是就可不还可否使用varchar类型了呢?

对于那些特殊字符,肯能后该被使用到,比如用户姓名字段,不可不还可否 是不是就可不还可否使用varchar类型了呢?

3

GO

13

测试结果如下:

UNION

显示结果如下:

10

DROP TABLE TB1

可不还可否明显地想看 上标在varchar类型下转换成普通数字2,而版权符号在varchar类型下直接就乱码。

20

SELECT C1,

11

本文转自yonghu86博客园博客,原文链接:http://www.cnblogs.com/huyong/p/78150491.html,如需转载请自行联系原作者

对于中文版的SQL SERVER,默认安装后使用的默认排序规则为Chinese_PRC_CI_AS,在此排序规则下,使用varchar类型来可不还可否“正常存取”存放中文字符以及有些东南亚国家的字符,同時 varchar类型在存放英文字符和数字时比nvarchar节省一半的存储空间,而且所以DBA都习惯使用varchar类型来存放字符数据,但原先便处于有些乱码隐患!

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

5

可不还可否明显地想看 上标在varchar类型下转换成普通数字2,而版权符号在varchar类型下直接就乱码。

(

7

当然是不是,能避开特殊字符,还得考虑“有文化的父母”给子女来点生僻字以展示有文化!!!比如五代十国中南汉的创建者刘䶮就自认为很牛叉,于是被委托人创了有另1个“䶮”字,取意为飞龙在天,不可不还可否 牛叉的意义就不招varchar的“喜欢”,测试code如下:

SELECT N'刘䶮',N'刘䶮'

INSERT INTO TB1(C1,C2)

CREATE TABLE TB1

CAST(C2 AS VARCHAR(150)) AS C2_V

9

3

4

6

C2,

“䶮”字不可不还可否在NVARCHAR模式下并能完好地显示哈!

建议使用NVARCHAR来存放非英文字符数据理由:

理由1:VARCHAR类型存放特殊字符或生僻字时处于乱码或字符被转变的问题报告 图片

理由2:对于中文字符,使用VARCHAR和NVARCHAR消耗同样的空间,对于英文字符,使用VARCHAR比NVARCHAR节省一倍的空间,但随着磁盘成本不可不还可否 低,其提升的性能和节省的成本有限。(例外:肯能数据中处于几滴 英文字符和几滴 非英文字符,则可不还可否考虑VARCHAR类型)

理由3:对于需用国际化的企业,后期将VARCHAR升级为NVARCHAR的成本太高或难以实现

理由4:使用VARCHAR存放非英文字符时,容易生成错误的预估值,尤其在执行LIKE累似 前缀匹配的预估时。

7

SELECT N'®',N'®'

6

1

1

5

GO

CAST(C1 AS NVARCHAR(150)) AS C1_N,

SELECT C1,

8

8

17

FROM  TB1

FROM  TB1

15

CAST(C1 AS NVARCHAR(150)) AS C1_N,

)

4

19

“䶮”字不可不还可否在NVARCHAR模式下并能完好地显示哈!

18

猜你喜欢

1500左右 买哪个手机 性价比高点

本回答由明星微博 推荐你对你你你这个 回答的评价是?扫描二维码下载小米5不错,1599,性价比高很糙推荐ZUKZ2搭载高通骁龙82014nmKryo四核64位,最高2.15

2020-03-22

目前华为的哪款手机性价比最高

4、系统:搭载2.4GHz八核麒麟9500防止器,是顶级旗舰芯片,天生就越来越快,采用新一代EMUI5.1系统,成功实现了性能提升与功耗平衡的再次突破,带来难以想象的高速与流畅

2020-03-22

天猫天猫,今年双11哪些最值得买?

贝因美菁爱3段奶粉价格1740到手价12400群克隆这条信息₳YrJTYsK187o₳后打开手淘百草味零食大礼包-千玺版价格299到手价138群克隆这条信息$2vxrYsKaK

2020-03-22

平安哪些产品性价比高?

收起更多回答(2) 我来答扫描二维码下载下载百度知道APP,抢鲜体验平安有全都的产品性价比有的是 很高的,关键有你在适合哪个产品,那个产品可是我性价比最高的,适合此人 的

2020-03-22

求推荐几款性价比高的手机!

1.屏幕:5.8英寸(直角)/5.6英寸(圆角)双曲面SuperAMOLED屏幕,分辨率为2220x101000(FHD+)。3.外壳颜色:谜夜黑、勃艮第红(具体以销售为准)。

2020-03-21