SQL server数据库中nvarchar和varchar的区别
先说结论:
存储内容含有汉字的使用nvarchar
存储内容全是英文没有汉字的使用varchar
1、varchar是非Unicode可变长度类型,nvarchar是Unicode可变长度类型。
2、varchar和nvarchar的最大长度不一样,nvarchar的长度设置必须为1和4000之间。varchar的长度设置必须是1和8000之间。
3、varchar能存储的字节数就是他的长度。nvarchar能存储的字节数是它长度的2倍。
区别:
① 从存储方式上,nvarchar是按字符存储的,varchar是按字节存储的。
② 从存储量来看,varchar是比较省空间的,因为存储的大小就是字节的实际长度,而nvarchar是双字节存储。
③ 使用上,如果存储内容是英文字符而没有汉字或者其他语言,建议使用的是varchar,含有汉字的使用nvarchar,因为nvarchar使用的Unicode编码,统一的编码,会减少乱码出现的几率。
总结:
现在的设备,存储空间的大小已经不受限制。无论是语言的范围,和存储空间的范围,nvarchar都占有很大的优势。
做项目的数据库建议选nvarchar。
SQL server数据库中nvarchar和varchar的区别的更多相关文章
- sql server数据库中char,varchar,nvarchar字段的区别
Char,varchar,nvarchar字段是sql server数据库中的三种字段类型.好多人在选择存储的时候不知道如何抉择,我给大家讲下这个三个字段类型的区别. Char(n)是长度为n个字节的 ...
- 转:SQL SERVER数据库中实现快速的数据提取和数据分页
探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页.以下代码说明了我们实例中数据库的“红头文件”一表的部分数据结构: CREATE TABLE [dbo]. ...
- C#同步SQL Server数据库中的数据--数据库同步工具[同步新数据]
C#同步SQL Server数据库中的数据 1. 先写个sql处理类: using System; using System.Collections.Generic; using System.Dat ...
- SQL Server 数据库中的几个常见的临界值
本文出处:http://www.cnblogs.com/wy123/p/6709520.html 1,SQL语句或者存储过程的最大长度(SQL字符串容量)是多少? 经常有人问,我的SQL语句是拼凑出来 ...
- 浅析SQL Server数据库中的伪列以及伪列的含义
SQL Server中的伪列 下午看QQ群有人在讨论(非聚集)索引的存储,说,对于聚集索引表,非聚集索引存储的是索引键值+聚集索引键值:对于非聚集索引表,索引存储的是索引键值+RowId,这应该是一个 ...
- 清空SQL Server数据库中所有表数据的方法(转)
清空SQL Server数据库中所有表数据的方法 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入 ...
- .NET客户端下载SQL Server数据库中文件流保存的大电子文件方法(不会报内存溢出异常)
.NET客户端下载SQL Server数据库中文件流保存的大电子文件方法(不会报内存溢出异常) 前段时间项目使用一次性读去SQL Server中保存的电子文件的文件流然后返回给客户端保存下载电子文件, ...
- SQL server数据库中的DateTime类型出现的问题
我们知道这个SQL server数据库中的DateTime类型是数据库应用开发中经经常使用到的一种数据类型.而C#语言中也有DateTime类型,尽管二者都是用来描写叙述时间的,可是它们的默认值是不同 ...
- C#从SQL server数据库中读取l图片和存入图片
原文:C#从SQL server数据库中读取l图片和存入图片 本实例主要介绍如何将图片存入数据库.将图片存入数据库,首先要在数据库中建立一张表,将存储图片的字段类型设为Image类型,用FileStr ...
- 清空SQL Server数据库中所有表数据的方法
原文:清空SQL Server数据库中所有表数据的方法 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可 ...
随机推荐
- 2022 CSP-S 游记
\(9.26\):开坑. 没报 J 组主要是因为 J 比较垃圾,去抢小朋友的一等没什么意思. 初赛 刚拿到试卷就直接懵了,这 tm 是给人做的题?宇宙射线是什么奇妙东西,还有基数排序我根本不会啊,这个 ...
- OpenLayers点聚合
1. 引言 当页面加载的数据量过大时,拖拽.缩放时往往会产生卡顿 然而,页面实现的内容是有限的,人眼可见范围也是有限的,过于微小的部分是可以不予显示的 聚合是解决这种问题的一个办法,当数据比较多,单个 ...
- Anaconda 环境中安装OpenCV (cv2)
1.使用Anaconda 的对应环境,查看环境中的Python版本号 (1)使用Anaconda 查看存在的环境:conda info --env (2)激活环境:conda activate XXX ...
- [Spring] SpringBoot启动流程
SpringBoot启动流程 实例化流程 推断应用类型,创建的是REACTIVE应用.SERVlET应用.NONE三种中的一种 使用SpringFactoreisLoader查找并加载classpat ...
- go对数组对象排序
1.根据时间对数组对象排序 package main import ( "fmt" "time" "github.com/ah ...
- 图文并茂解释开源许可证 GPL、BSD、MIT、Mozilla、Apache和LGPL的区别?
BSD开源协议BSD开源协议是一个给于使用者很大自由的协议.基本上使用者可以"为所欲为",可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布. 但" ...
- Centos.JAVA 环境安装
JAVA 环境安装 0x00.环境准备 OS CentOS JDK1.8 安装包 jdk-8u131-linux-x64.tar.gz 0x01.卸载自带的open jdk 执行rpm -qa | g ...
- iPhone添加节假日日历地址
添加苹果节假日日历地址 手动订阅节假日: 打开"设置">"日历">"帐户">"添加帐户">&qu ...
- arm架构安装mysql5.7
添加mysql用户组和mysql用户,用于隔离mysql进程 groupadd -r mysql && useradd -r -g mysql -s /sbin/nologin -M ...
- DUT:Device Uder Test 被测设备
半导体测试的专业术语 1. DUT 需要被实施测试的半导体器件通常叫做DUT(Device Under Test,我们常简称"被测器件"),或者叫UUT(Unit Under Te ...