sql server 字符数据类型
SQL Server 中字符类型包括varchar、char、text等。主要用于存储字符数据。varchar和char类型的主要区别在于数据填充。例如,一个列名为FirstName且数据类型为varchar(20)的表,同时将值Brian存储到列FirstName中,那么物理上只存储5个字节。但如果在数据类型为char(20)的列中存储相同的值,将使用全部的的20个字节。SQL将插入拖尾空格来填满20个字符。
注:有这么一个问题,如果要节省空间,那么为什么还要使用char数据类型呢?这是因为使用varchar数据类型会稍微增加一些系统开销。所以,如果要存储两个字母形式的缩写,最好使用char(2),尽管有些人认为应该最大限度的节省空间,但一般来说,好的做法是找到合适的阈值,指定低于该阈值的采用char类型数据,反之则采用varchar数据类型。比如,任何小于或等于5个字节的列都应该存储为char数据类型,而不是varchar类型。超过这个长度,使用varchar数据类型的好处将超过其额外开销。
nvarchar数据类型和nchar数据类型的工作方式于对等的varchar数据类型和char数据类型相同,但是这两种数据类型可以处理国际性的Unicode字符,他们需要一些额外的开销。以Unicode形式存储的数据为一个字符占用两个字节(这里指USC-2)。如果将值Brian存储到nvarchar列,将使用10个字节;而如果将之存储为nchar(20),就需要40个字节。
| 数据类型 | 描述 | 存储空间 |
| char(n) | n为1~8000字符之间 | n字节 |
| nchar(n) | n为1~4000 Unicode字符之间 | 2 × n 字节 |
| nvarchar(max) | 最多为230 - 1 Unicode字符 | 2 × 字符数 + 2字节额外开销 |
| text | 最多为231 - 1 字符 | 每字符1字节+2字节额外开销 |
| varchar(n) | n为1 ~ 8000字符之间 | 每字符1字节 + 2字节额外开销 |
| varchar(max) | 最多为231 - 1 字符 | 每字符1字节 + 2字节额外开销 |
sql server 字符数据类型的更多相关文章
- SQL Server常见数据类型介绍
数据表是由多个列组成,创建表时必须明确每个列的数据类型,以下列举SQL Server常见数据类型的使用规则,方便查阅. 1.整数类型 int 存储范围是-2,147,483,648到2,147,483 ...
- Sql Server之数据类型详解
数据类型是一种属性,用于指定对象可保存的数据的类型,SQL Server中支持多种数据类型,包括字符类型.数值类型以及日期类型等.数据类型相当于一个容器,容器的大小决定了装的东西的多少,将数据分为 ...
- SQL Server 常见数据类型介绍
数据表是由多个列组成,创建表时必须明确每个列的数据类型,以下列举SQL Server常见数据类型的使用规则,方便查阅. 整数类型 int 存储范围是-2,147,483,648到2,147,483,6 ...
- 说说SQL Server的数据类型
以SQL Server为例,SQL Server的数据类型总共有33种,归纳为一下类别: 精确数字 Unicode字符串 近似数字 二进制字符串 日期和时间 其他数据类型 字符串 1.数字数据类型 ...
- SQL SERVER的数据类型
1.SQL SERVER的数据类型 数据类弄是数据的一种属性,表示数据所表示信息的类型.任何一种计算机语言都定义了自己的数据类型.当然,不同的程序语言都具有不同的特点,所定义的数据类型的各类和名称都或 ...
- Sql Server 自定义数据类型
SQLServer 提供了 25 种基本数据类型: ·Binary [(n)] 二进制数据 既可以是固定长度的(Binary),也可以是变长度的.其中,n 的取值范围是从 1 到 8000.其存储窨 ...
- C# 与 SQL Server 的数据类型对应关系
(一)C#与SQL Server 2005(或以下版本): C# C#取值 SQL Server SQL Server取值 System.DateTime samlltime System.Objec ...
- 通过SQL Server自定义数据类型实现导入数据
写在前面 在看同事写的代码时看到了SQL Server中可以自定义数据类型,而且定义的是DataTable类型的数据类型. 后我想起了以前我们导入数据时要么是循环insert写入,要么是SqlBulk ...
- SQL Server 2008数据类型
在创建表时,必须为表中的每列指派一种数据类型. 今天在研究二进制存储图片时候竟然不知道image类型就是二进制类型?!所有就搜集了sql中的各种数据类型汇总,成功在于点滴积累. 1. 字符数据类型 数 ...
随机推荐
- 基本shell脚本
#!/bin/bash attr=() num= while true do read -p ">>input:" name attr[$num]=$name echo ...
- 《一张图看懂华为云BigData Pro鲲鹏大数据解决方案》
8月27日,华为云重磅发布了业界首个鲲鹏大数据解决方案--BigData Pro.该方案采用基于公有云的存储与计算分离架构,以可无限弹性扩容的鲲鹏算力作为计算资源,以支持原生多协议的OBS对象存储服务 ...
- 【跟唐老师学习云网络】 - 第7篇 Tcpdump大杀器抓包
[摘要] 前面章节的网络协议栈相关的信息建议大家多学习一遍,因为这些都是最基础的东西,想玩好云网络必备基本功.. 一.上帝视角 之前提到过定位问题可以开启上帝视角,那么如何开启就要依靠tcpdump这 ...
- windows下利用iis建立网站网站并实现局域共享
博客园 首页 新随笔 联系 管理 订阅 随笔- 54 文章- 9 评论- 0 Windows下利用IIS建立网站并实现局域网共享 https://blog.csdn.net/qq_4148541 ...
- VSCode 入门
一 基本布局 二 主题设置 2.1 选择颜色主题 方式一 文件 -> 首选项 -> 颜色主题 -> 上下按键 切换预览 -> enter选择 或者 CTRL + K CTRL ...
- go实践之swagger自动生成api文档
文章目录 go实践之swagger自动生成api文档 1.安装需要用到的包 2.接口代码支持swagger 3. 生成swagger接口 go实践之swagger自动生成api文档 作为一个后端开发, ...
- 基于iCamera测试高清摄像头OV7725小结
基于iCamera测试高清摄像头OV7725小结 先看看硬件特点 然后看看硬件测试,usb采集出图 默认是不带晶振的,可以通过usb提供提供12M.24M.48M时钟 软件出图 可以通过修改0x11, ...
- 详谈springboot启动类的@SpringBootApplication注解
前几天我们学会了如何创建springboot项目今天我们说一下他是怎么运行的为什么不需要我们再去编写繁重的配置文件的 @SpringBootApplication 首先我们看一下这个注解,他是用来标注 ...
- 【JS】308- 深入理解ESLint
点击上方"前端自习课"关注,学习起来~ 本文来自于"自然醒"投稿至[前端早读课]. 小沈是一个刚刚开始工作的前端实习生,第一次进行团队开发,难免有些紧张.在导师 ...
- vue-cli3抽离配置文件,动态修改打包后配置
由于项目有外部部署需求,对不同的环境前端调用后台的地址不一样,且不能提前预知必须到部署现场后才能确定后端地址,故需要将调用后端相关的配置抽离到文件中,打包后部署人员在方便现场修改. 思路如下: 1.由 ...