位置: 编程技术 - 正文

N字符在Sql Server字段类型中的重要性概述(sqlserver 中文字符集)

编辑:rootadmin
Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示 如果还为了这个纠结,就直接看看后面的解说,做决定吧。 一般如果用到中文或者其它特殊字符,我就会使用n开头的类型,否则的话直接使用var开头的。 sql server中的varchar和Nvarchar有什么区别? 答: varchar(n) 长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8, 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。 nvarchar(n) 包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4, 之间。字节的存储大小是所输入字符个数的两倍。 两字段分别有字段值:我和coffee 那么varchar字段占2×2+6=个字节的存储空间,而nvarchar字段占8×2=个字节的存储空间。 如字段值只是英文可选择varchar,而字段值存在较多的双字节(中文、韩文等)字符时用nvarchar char varchar nvarchar区别 联机帮助上的: 一般来说,如果含有中文字符,用nchar/nvarchar,如果纯英文和数字,用char/varchar **人很好的总结 很多开发者进行数据库设计的时候往往并没有太多的考虑char, varchar类型,有的是根本就没注意,因为存储价格变得越来越便宜了,忘记了最开始的一些基本设计理论和原则,这点让我想到了现在的年轻人,大手一挥 一把人民币就从他手里溜走了,其实我想不管是做人也好,做开发也好,细节的把握直接决定很多东西。当然还有一部分人是根本就没弄清楚他们的区别,也就随便 选一个。在这里我想对他们做个简单的分析,当然如果有不对的地方希望大家指教。 1、CHAR。CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(),那么不论你存储的数据是否达到了个字节,都要占去个字节的空间,不足的自动用空格填充,所以在读取的时候可能要多次用到trim()。 2、VARCHAR。存储变长数据,但存储效率没有CHAR高。如果一个字段可能的值是 不固定长度的,我们只知道它不可能超过个字符,把它定义为 VARCHAR()是最合算的。VARCHAR类型的实际长度是它的值的实际长度+1。为什么“+1”呢?这一个字节用于保存实际使用了多大的长度。 从空间上考虑,用varchar合适;从效率上考虑,用char合适,关键是根据实际情况找到权衡点。 3、TEXT。text存储可变长度的非Unicode数据,最大长度为2^-1(2,,,)个字符。 4、NCHAR、NVARCHAR、NTEXT。这三种从名字上看比前面三种多了个 “N”。它表示存储的是Unicode数据类型的字符。我们知道字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字 同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表 示。nchar、nvarchar的长度是在1到之间。和char、varchar比较起来,nchar、nvarchar则最多存储个 字符,不论是英文还是汉字;而char、varchar最多能存储个英文,个汉字。可以看出使用nchar、nvarchar数据类型时 不用担心输入的字符是英文还是汉字,较为方便,但在存储英文时数量上有些损失。 所以一般来说,如果含有中文字符,用nchar/nvarchar,如果纯英文和数字,用char/varchar 我把他们的区别概括成: CHAR,NCHAR 定长,速度快,占空间大,需处理 VARCHAR,NVARCHAR,TEXT 不定长,空间小,速度慢,无需处理 NCHAR、NVARCHAR、NTEXT处理Unicode码 varchar在SQL Server中是采用单字节来存储数据的,nvarchar是使用Unicode来存储数据的.中文字符存储到SQL Server中会保存为两个字节(一般采用Unico编码),英文字符保存到数据库中,如果字段的类型为varchar,则只会占用一个字节,而如果字段 的类型为nvarchar,则会占用两个字节. 正常情况下,我们使用varchar也可以存储中文字符,但是如果遇到操作系统是英文操 作系统并且对中文字体的支持不全面时, 在SQL Server存储中文字符为varchar就会出现乱码(显示为??).而且正常情况下,主机都会支持中文的环境,所以如果使用varchar来存储数 据,在开发阶段是发现不了的. 当然,使用nvarchar存储英文字符会增大一倍的存储空间.但是在存储代价已经很低廉的情况下,优先考虑兼容性会给你带来更多好处的. 所以在Design的时候应该尽量使用nvarchar来存储数据.只有在你确保该字段不会保存中文的时候,才采用varchar来存储.的时候也不会有问题. 但是!如果布署的主机是英文操作系统,并且不支持中文环境,那问题就出来了.所有的 varchar字段在存储中文的时候都会变成乱码(显示为??).而且一般情况下你不会知道这是因为你采用了错误的数据类型来存储所造成的,你会试着去装 中文字体,试着去设置操作系统的语言环境...这些都不能解决问题,唯一能解决问题的是把数据库字段的类型个性为nvarchar(或者nchar).对 项目管理比较熟悉的朋友应该都知道,到布署阶段再来修改数据库是一个很恐怖的事情. 使用nvarchar的另一个非常好处就是在判断字符串的时候可以不需要考虑中英文两种字符的差别.

推荐整理分享N字符在Sql Server字段类型中的重要性概述(sqlserver 中文字符集),希望有所帮助,仅作参考,欢迎阅读内容。

N字符在Sql Server字段类型中的重要性概述(sqlserver 中文字符集)

文章相关热门搜索词:sql n+1,sql中nchar的汉字占几个字节,sql n/a,sql server 字符集,sql的nvarchar,sql server 字符集,sql n/a,sql server字符型,内容如对您有帮助,希望把文章链接给更多的朋友!

sql server中查找特定类别的列的写法 selecta.name,o.nameASTableName,o.type,a.id,o.object_id,o.schema_idFROMsys.syscolumnsASaINNERJOINsys.systypesASbONa.xtype=b.xtypeANDb.name='nvarchar'INNERJOINsys.objectsASoONa.id=o.object_idWHERE(o.typ

自动清理 MSSQL Server Table Collation问题的解决方法 在一个团队项目中,没有约定好Collation,在MSSQLServer中编程就会遇到这样的问题:Cannotresolvethecollationconflictbetween"Latin1_General_CI_AS"and"SQL_Latin1_General_CP1_CI_AS"

SQL Server中减小Log文件尺寸的方法分享 首先use[数据库名称];execsp_helpfile;使用sp_helpfile查询可知道log文件的逻辑名称,然后就可以利用DBCC来减小LOG文件BACKUPLOG[数据库名]WITHTRUNCATE_ONLYdbccshrinkfile([l

标签: sqlserver 中文字符集

本文链接地址:https://www.jiuchutong.com/biancheng/347867.html 转载请保留说明!

上一篇:SQL2000中的默认sa帐号的修改与删除方法(sql server默认实例)

下一篇:sql server中查找特定类别的列的写法(sql server在表里查找具体数据)

  • 拆迁补偿款如何做账务处理
  • 简易计税方法和免税该怎么选择
  • 生产成本和销售费用是对应账户吗
  • 物业公司一般纳税人增值税税率
  • 应收往来会计是做什么工作的
  • 预收账款怎么做财务分析报告
  • 坏账准备计入营业收入如何报年报
  • 发票第二年是否可以作废
  • 分公司的税收机关在总公司还是分公司
  • 连号发票不许报销的具体发票类型
  • 未达起征点是什么
  • 建筑业一般计税税率
  • 收到违约金如何入账
  • 给退休工人发工资怎么入账
  • 持有至到期投资账务处理
  • 去年多计提了费用今年怎么办
  • 持有至到期投资在资产负债表怎么填
  • 过路过桥费抵扣2021新规定
  • 小规模纳税人附加税税率各是多少
  • 会计人士必知建筑业主要成本会计分录一览
  • 稳岗补贴能享受多久
  • 食堂购买的固定资产可以一次性加计扣除吗
  • 企业向国有银行贷款的利率
  • 小规模保安公司收取服务费时如何开票
  • 小规模纳税人企业所得税优惠政策最新2023
  • 购入空调
  • 在win7系统中将打开窗口拖到屏幕顶端
  • 工会经费怎么申报,多久报一次
  • 怎样设置登录帐号和密码
  • 小型微利企业的税收政策
  • 电脑桌面图标如何更改自定义图片
  • 发生利息收入的分录
  • 沃特金斯格伦州立公园
  • 企业预缴增值税附加税率
  • unbutun系统
  • 企业营运资金管理存在的问题
  • php十进制转二进制算法
  • php怎么上传图片并保存到数据库
  • python中列表清空
  • 小型企业利润表
  • 债务重组开场白
  • 现金折扣什么时候冲减收入
  • 现金管理的四个方面
  • 专利年费可以做研发费用吗
  • 企业给员工报销的个人消费支出如何计税
  • 银行收到电子承兑怎么查
  • 教育协会颁发的证书有用吗?
  • 衍生工具的作用是什么
  • 其他税后扣减
  • 结转是什么意思啊
  • 房屋租赁的注意问题
  • 其他应付款贷方余额怎么冲平
  • 三栏式明细账适用于原材料吗
  • 零售货品
  • mysql查询条件不区分大小写
  • os x10.11el capitan公测版beta5更新了什么?os x10.11el capitan公测版beta5发布下载
  • 联想笔记本在bios关闭触摸板
  • 三星笔记本电脑
  • freebsd怎么安装
  • dwrg_repair.exe什么意思
  • Mac Chrome打开HTTPS证书错误问题解决方法
  • centos启动卡在了启动界面
  • centos7取消挂载硬盘
  • 安装win 7系统
  • xp系统怎么禁止启动项
  • centos 7 dns
  • 双击windows 7桌面上的快捷图标可以干嘛
  • win8如何进入bios
  • win10无法使用内置管理员账户
  • win7电脑磁盘突然不见了怎么办
  • win7注册表文件位置
  • qq仿ios
  • cocos2dx onpause崩
  • js用变量值做参数
  • jquery插件库怎么导入
  • unity游戏官网
  • jquery动态添加和删除div
  • 江苏税务个人所得税app怎么下载不了?
  • 麻将 空白
  • 土地交的契税会计科目
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设