一、char与varchar

带var的表示的是:可变长度,会根据实际存储数据的大小动态重新分配存储空间,相对来说节省存储空间。

不带var的表示的是:固定长度,存储3字符也是要占用10个字节的,会自动补7个空格。

例如:写入“abc”
char 损耗了硬盘10字节 = “abc”长度 + 7个空字符
varchar损耗了硬盘3字节 = “abc”长度

注意:10表示默认长度为10个字节,如果存储的数据超过了10个字节,那么无论是固定长度还是可变长度都会报错的。

理论:

前缀N就表示Unicode字符,比如nchar,nvarchar,这两种类型使用了Unicode字符集。

非Unicode码(例如ASCII码),英文字符需要一个字节存储,但汉字和其他众多非英文字符,则需要两个字节存储。如果英文与汉字同时存在,由于占用空间数不同,容易造成混乱,导致读取出来的字符串是乱码。

Unicode(统一码)就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。

二、char与nchar

char()不带n的数据类型,存储中文等双字节字符,占用2个字节;存储英文,数字等每个字符占用1个字节。

nchar() 带n的,无论存储中文还是英文、数字等,每个字符都是占用两个字节。

注意:不带n的这些数据类型,长度最常可以设置为8000,而带n的这些数据类型,长度最长可以设置为4000,实际存储空间相同,既8000字节。

char(8000)

varchar(8000)

nchar(4000)

nvarchar(4000)

N前缀:N代表转换为Unicode格式

insert into students1(name,birtiday) values(N'科比',1994-01-01)

其它:

Bit类型在管理器上只能用true和false 在写程序代码的时候只能用1和0

SqlServer -- char与varchar、nchar、N的更多相关文章

  1. 【转】CHAR CHARACTER VARCHAR NCHAR NVARCHAR NVARCHAR2区别

    http://blog.csdn.net/lhl6688/article/details/44156823?ref=myread oracle提供了五种字符数据类型:char.nchar.varcha ...

  2. SQLServer中char、varchar、nchar、nvarchar的区别

    http://www.cnblogs.com/14lcj/archive/2012/07/08/2581234.html SQLServer中char.varchar.nchar.nvarchar的区 ...

  3. SQLServer中char、varchar、nchar、nvarchar比较

    转自:http://www.cnblogs.com/bluesky_blog/archive/2009/07/31/1535722.html 对于程序中的string型字段,SQLServer中有ch ...

  4. SqlServer -- char varchar、nchar、nvarchar

    一.char与varchar 列如: char(10) varchar(10) 写入“abc”char 损耗了硬盘10字节 = “abc”长度 + 7个空字符varchar损耗了硬盘3字节 = “ab ...

  5. sqlserver数据库中char、varchar、text与nchar、nvarchar、ntext数据类型使用详解

    很多开发者进行数据库设计的时候往往并没有太多的考虑char, varchar类型,有的是根本就没注意,因为存储价格变得越来越便宜了,忘记了最开始的一些基本设计理论和原则,这点让我想到了现在的年轻人,大 ...

  6. 2019-2-20Sqlserver数据库中char、varchar、nchar、nvarchar的区别及查询表结构

    varchar 和 nvarchar区别: varchar(n)长度为 n 个字节的可变长度且非 Unicode 的字符数据.n 必须是一个介于 1 和 8,000 之间的数值.存储大小为输入数据的字 ...

  7. char、varchar、nchar、nvarchar的区别(转)

    转自:http://tech.diannaodian.com/dw/data/sql/2011/1005/135556.html 对于程序中的string型字段,SQLServer中有char.var ...

  8. char、varchar、nchar、nvarchar特点比较

    于程序中的string型字段,SQLServer中有char.varchar.nchar.nvarchar四种类型来对应(暂时不考虑text和ntext),开建立数据库中,对这四种类型往往比较模糊,这 ...

  9. char varchar nchar nvarcharar到底有多大区别

    首先说明下,ASP.NET MVC系列还在龟速翻译中. 工作好多年,基础知识甚是薄弱,决定以后在coding(cv操作)的时候尽量多google下,然后总结下来,目的有三:     1. 加深自己的理 ...

随机推荐

  1. 基础知识漫谈(2):从设计UI框架开始

    说UI能延展出一丢丢的东西来,光java就有swing,swt/jface乃至javafx等等UI toolkit,在桌面上它们甚至都不是主流,在web端又有canvas.svg等等. 基于这些UI工 ...

  2. 剑指Offer面试题:29.丑数

    一.题目:丑数 题目:我们把只包含因子2.3和5的数称作丑数(Ugly Number).求按从小到大的顺序的第1500个丑数.例如6.8都是丑数,但14不是,因为它包含因子7.习惯上我们把1当做第一个 ...

  3. 企业IT管理员IE11升级指南【5】—— 不跟踪(DNT)例外

    企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...

  4. SQL Server 深入解析索引存储(中)

    标签:SQL SERVER/MSSQL SERVER/数据库/DBA/索引体系结构/堆 概述 本篇文章是关于堆的存储结构.堆是不含聚集索引的表(所以只有非聚集索引的表也是堆).堆的 sys.parti ...

  5. 初学者--bootstrap(五)JavaScript插件(上)----在路上(6)

    jQuery 插件为 Bootstrap 的组件赋予了“生命”.可以简单地一次性引入所有插件,或者逐个引入到你的页面中. 一:首先要确认的是,单个还是全部引入: JavaScript 插件可以单个引入 ...

  6. salesforce 零基础学习(四十六)动态美观显示列表中记录的审批状态

    项目中,申请者申请某些事项以后,常常需要在申请列表中查看当前申请的记录所在的审批状态,动态美观的显示状态可以使UI更符合客户要求,比如下面这样. 以Goods__c表为例,申请者申请的一些采购以前需要 ...

  7. iOS-App上架流程

    前言:作为一名IOS开发者,把开发出来的App上传到App Store是必须的.下面就来详细介绍下具体流程. 1.打开苹果开发者中心:https://developer.apple.com 打开后点击 ...

  8. PHP面向对象笔记

    一.构造函数.析构函数(1)构造函数:__construct()说明:对象被实例化时调用,可带参数例: $obj = new A($a,$b); (2)析构函数:_destruct()说明:页面执行结 ...

  9. 浅谈linux 下,利用Nginx服务器代理实现ajax跨域请求。

    ajax跨域请求对于前端开发者几乎在任何一个项目中都会用到,众所周知,跨域请求有三种方式: jsonp; XHR2 代理: jsonp: 这种应该是开发中是使用的最多的,最常见的跨域请求方法,其实aj ...

  10. OpenCASCADE BRep vs. OpenNURBS BRep

    OpenCASCADE BRep vs. OpenNURBS BRep eryar@163.com Abstract. BRep short for Boundary Representation. ...