06-char,varchar和nvarchar三者的区别
总结:
1.首先先知道一下SQLServer中数据存储的基本单位是页.每页的大小是8KB;
2.char(n),里面的n用于定义字符串长度,以字节为单位;
3.三者的区别
* char: 是定长的,比如指定char(8),你输入的字符小于8时,后面会补空值,输入的字符大于8时,会截断字符;
* varchar:可变长度的非Unicode字符数据.n的值必须在1到8000之间.n是2的话,表示2个字节,所以可以存储2个英文,只能存储1个中文;
* nvarchar: 可变长度的Unicode字符数据.n的值必须在1到4000之间.意思就是不管是英文还是中文都按照2个字节来处理;
4.所以如果数据全是英文的话,建议用char/varchar,全是中文或者包含中文的话,建议使用nvar/nvarchar;
5.Unicode和非Unicode的区别
Unicode字符集就是为了解决中文而产生的,英文的存储一个英文只需要1个字节,但是中文的存储一个汉字需要2个字节;
06-char,varchar和nvarchar三者的区别的更多相关文章
- 答:SQLServer DBA 三十问之一: char、varchar、nvarchar之间的区别(包括用途和空间占用);xml类型查找某个节点的数据有哪些方法,哪个效率高;使用存储 过程和使用T-SQL查询数据有啥不一样;
http://www.cnblogs.com/fygh/archive/2011/10/18/2216166.html 1. char.varchar.nvarchar之间的区别(包括用途和空间占用) ...
- SQL Server char,varchar,nchar,nvarchar区别
SQL Server char,varchar,nchar,nvarchar区别 (1) 定义: char: 固定长度,存储ANSI字符,不足的补英文半角空格. nchar: 固 ...
- SQL中 char varchar和nvarchar的区别
转至:http://www.cnblogs.com/carekee/articles/2094676.html char char是定长的,也就是当你输入的字符小于你指定的数目时,char(8) ...
- SQL中varchar和nvarchar有什么区别?
varchar(n)长度为 n 个字节的可变长度且非 Unicode 的字符数据.n 必须是一个介于 1 和 8,000 之间的数值.存储大小为输入数据的字节的实际长度,而不是 n 个字节.nvarc ...
- sql server中的varchar和Nvarchar有什么区别?
很多开发者进行数据库设计的时候往往并没有太多的考虑char, varchar类型,有的是根本就没注意,因为存储价格变得越来越便宜了,忘记了最开始的一些基本设计理论和原则,这点让我想到了现在的年轻人,大 ...
- 数据库char varchar nchar nvarchar,编码Unicode,UTF8,GBK等,Sql语句中文前为什么加N(一次线上数据存储乱码排查)
背景 公司有一个数据处理线,上面的数据经过不同环境处理,然后上线到正式库.其中一个环节需要将数据进行处理然后导入到另外一个库(Sql Server).这个处理的程序是老大用python写的,处理完后进 ...
- Oracle中varchar,varchar2,nvarchar,nvarchar2的区别及其它数据类型描述
--varchar,varchar2 联系: 1.varchar/varchar2用于存储可变长度的字符串 比如varchar(20),存入字符串'abc',则数据库中该字段只占3个字节,而不是20个 ...
- Oracle中varchar,varchar2,nvarchar,nvarchar2的区别
--varchar,varchar2 联系:1.varchar/varchar2用于存储可变长度的字符串比如varchar(20),存入字符串'abc',则数据库中该字段只占3个字节,而不是20个字节 ...
- SQL中varchar和nvarchar有什么区别
varchar(n)长度为 n 个字节的可变长度且非 Unicode 的字符数据.n 必须是一个介于 1 和 8,000 之间的数值.存储大小为输入数据的字节的实际长度,而不是 n 个字节. nvar ...
随机推荐
- Flink与其他流处理方式的对比分析
一.Flink与其他流处理方式的对比分析 ·1.Flink特点: Apache Flink 是一个开源的分布式,高性能,高可用,准确的流处理框架. 主要由 Java 代码实现. 支持实时流(strea ...
- 关于tk.mybatis.spring.mapper.SpringBootBindUtil$SpringBoot2Bind.bind(SpringBootBindUtil.java:129) ~[mapper-spring-boot-autoconfigure-1.2.3.jar:na]的问题
错误如下: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at tk.mybatis.spring.m ...
- 减2或减3(很搞的贪心)2019牛客国庆集训派对day6
题意:https://ac.nowcoder.com/acm/contest/1111/D 问你先减二x次的情况下,最少减几次3. 思路: %3不为0的要先减2,然后%3为0的要先减大的(比如9 3 ...
- 虚拟机(Vmware)安装ubuntu18.04和配置调整(三)
三.ubuntu安装软件 1.安装常用软件 python程序员: $ sudo apt install ipython $ sudo apt install ipython3 $ sudo a ...
- 首篇-记录自己学习python之路!
对于自己学习python的目的比较明确——爬虫和量化. 目前找了一些资源进行学习,先进行量化方面的学习,爬虫滞后.目前的目标是“180天掌握尽可能多的量化能力”! 以后定时发送自己学习思考内容以作自己 ...
- 查询进程内存,cpu占用情况。僵尸进程
查使用内存最多的5个进程:ps aux | head -1 && ps aux | grep -v USER | sort -nr -k 4 | head -5 查使用CPU最多的5个 ...
- Arduino Nano与SIM800C 通信
首先感谢 原文作者:https://blog.csdn.net/weixin_44481398/article/details/86596933#commentBox 找了好久没有找到,使用他的代码一 ...
- [Scala] java使用scala的jar包问题:Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Short
场景 刚写的scala处理bmp文件的实验, 打了jar包让java调用一下, 结果发生这个错误. package org.tanglizi.bmp.demo; import org.tanglizi ...
- sqlserver关于发布订阅replication_subscription的总结
(转载)sqlserver关于发布订阅replication_subscription的总结 来自 “ ITPUB博客 ” ,原文地址:http://blog.itpub.net/30126024/v ...
- Base64加密后有换行回车的解决办法
据RFC 822规定,每76个字符,还需要加上一个回车换行 有时就因为这些换行弄得出了问题,解决办法如下,替换所有换行和回车 String bTemp = Base64.encodeBase64Str ...