- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章SQL2005中char nchar varchar nvarchar数据类型的区别和使用环境讲解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
现在就摘录一下sql2005联机丛书里的关于这几个数据类型的解释 。
字符数据类型(nchar 长度固定,nvarchar 长度可变)和 Unicode 数据使用 UNICODE UCS-2 字符集.
nchar [ ( n ) ] 。
n 个字符的固定长度的 Unicode 字符数据。n 值必须在 1 到 4,000 之间(含)。存储大小为两倍 n 字节。nchar 的 SQL-2003 同义词为 national char 和 national character.
nvarchar [ ( n | max ) ] 。
可变长度 Unicode 字符数据。n 值在 1 到 4,000 之间(含)。max 指示最大存储大小为 2^31-1 字节。存储大小是所输入字符个数的两倍 + 2 个字节。所输入数据的长度可以为 0 个字符。nvarchar 的 SQL-2003 同义词为 national char varying 和 national character varying.
备注 如果没有在数据定义或变量声明语句中指定 n,则默认长度为 1。如果没有使用 CAST 函数指定 n,则默认长度为 30.
如果列数据项的大小可能相同,请使用 nchar.
如果列数据项的大小可能差异很大,请使用 nvarchar.
sysname 是系统提供的用户定义数据类型,除了不以为零外,在功能上与 nvarchar(128) 相同。sysname 用于引用数据库对象名 。
固定长度或可变长度的字符数据类型.
char [ ( n ) ] 。
固定长度,非 Unicode 字符数据,长度为 n 个字节。n 的取值范围为 1 至 8,000,存储大小是 n 个字节。char 的 SQL 2003 同义词为 character.
varchar [ ( n | max ) ] 。
可变长度,非 Unicode 字符数据。n 的取值范围为 1 至 8,000。max 指示最大存储大小是 2^31-1 个字节。存储大小是输入数据的实际长度加 2 个字节 。
可变长度的偏移阵列 VarOffset 2*VarCount(每一列都要另外加上2个自己的偏移量)。所输入数据的长度可以为 0 个字符。SQL-2003 中的 varchar 就是 char varying 或 character varying.
备注 如果未在数据定义或变量声明语句中指定 n,则默认长度为 1。如果在使用 CAST 和 CONVERT 函数时未指定 n,则默认长度为 30.
将为使用 char 或 varchar 的对象指派数据库的默认排序规则,除非使用 COLLATE 子句指派了特定的排序规则。该排序规则控制用于存储字符数据的代码页.
如果站点支持多语言,请考虑使用 Unicode nchar 或 nvarchar 数据类型,以最大限度地消除字符转换问题。如果使用 char 或 varchar,建议执行以下操作:
如果列数据项的大小一致,则使用 char.
如果列数据项的大小差异相当大,则使用 varchar.
如果列数据项大小相差很大,而且大小可能超过 8,000 字节,请使用 varchar(max).
本人测试了一下这几个数据类型的区别,以下是测试脚本跟结果:
。
DECLARE @a CHAR(6) SET @a='您啊啊啊啊是' PRINT 'char:'+@a 。
。
DECLARE @b CHAR(6) SET @b='abcdefg' PRINT 'char:'+@b 。
DECLARE @c CHAR(6) SET @c='123456' PRINT 'char:'+@c ----------------------- 。
DECLARE @d NCHAR(6) SET @d=N'您啊啊啊啊是' PRINT 'nchar:'+@d 。
DECLARE @e NCHAR(6) SET @e=N'abcdefg' PRINT 'nchar:'+@e 。
DECLARE @f NCHAR(6) SET @f=N'123456' PRINT 'nchar:'+@f ------------------------------ 。
DECLARE @g VARCHAR(6) SET @g='您啊啊啊啊是' PRINT 'varchar:'+@g 。
DECLARE @h VARCHAR(6) SET @h='abcdefg' PRINT 'varchar:'+@h 。
DECLARE @i VARCHAR(6) SET @i='123456' PRINT 'varchar:'+@i -------------------------------- DECLARE @j NVARCHAR(6) SET @j=N'您啊啊啊啊是' PRINT 'nvarchar:'+@j 。
DECLARE @k NVARCHAR(6) SET @k=N'abcdefg' PRINT 'nvarchar:'+@k 。
DECLARE @l NVARCHAR(6) SET @l=N'123456' PRINT 'nvarchar:'+@l 。
。
结果:
最后此篇关于SQL2005中char nchar varchar nvarchar数据类型的区别和使用环境讲解的文章就讲到这里了,如果你想了解更多关于SQL2005中char nchar varchar nvarchar数据类型的区别和使用环境讲解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我想找到更好的方法来找到我正在相互比较的两个字符串的更大 nchar。 假设我在 sentenceMatch data.frame 中有字符串,我需要创建一个 max(nchar(string1),
1. char类型: 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节,CHAR存储定长数据很方便,CHAR字段上的索引效率极高,比如定义char(10),那么不论你存储的
有人可以向我解释这里发生了什么吗?当变量被编码为因子并且 nchar 强制转换为字符时,为什么该函数不能有效地计算字符数? > x nchar(x) [1] 5 5 5 5 > > x nchar
我有一个列表/向量列表: list(c("cat1", "cat6", ""), c("cat5", "cat3", "cat4"), c("cat6", "cat4", ""), c("cat5",
现在就摘录一下sql2005联机丛书里的关于这几个数据类型的解释 字符数据类型(nchar 长度固定,nvarchar 长度可变)和 Unicode 数据使用 UNICODE UCS-2 字符集。
我发现每当我从我的数据库加载一个对象时,它立即显示为 Dirty。 我找到了一些代码,可以让我在这里查看对象是否脏:http://nhforge.org/wikis/howtonh/finding-d
除了 CHAR (CHARACTER) 和 VARCHAR (CHARACTER VARYING) 之外,SQL 还提供了 >NCHAR (NATIONAL CHARACTER) 和 NVARCHAR
在SQL Server中,当我们设置字符型字段的时候,往往有很多个数据类型供我们选择,如:char nchar varchar nvarchar等,那么我们到底应该选择哪一个呢?下面就一一来描述其区
对于程序中的一般字符串类型的字段,SQL Server中有char、varchar、nchar、nvarchar四种类型来对应,那么这四种类型有什么区别呢,这里做一下对比。 1.定长或变长 所谓
有人可以帮我解决这个问题吗? 我需要将 nchar 列转换为 nvarchar 列并修剪空格。 谢谢你。 最佳答案 SELECT RTrim(CAST([MynCharColumn] As nVarC
我正在研究 MSDN 中的一个示例,该示例使用小型数据库来演示数据驱动测试,这是简单的架构: CREATE TABLE dbo.LogonInfoTest ( UserId nchar(2
我正在重构数据库 (SQL Server 2008) 方案并收集参数以将 NCHAR(1) 列(保留 Y|N 值)更改为位。每个人都知道这是必要的,但不知道为什么会发生,但这种变化会影响生产数据库,因
我一直在研究 substitute,但不太明白 nchar(substitute(a + b + c)) 的结果到底是什么?结果是 nchar(substitute(a + b + c)) [1] 1
据我了解,输入应在不指定的情况下转换为字符 "x = ...字符向量,或要强制转换为字符向量的向量" nchar(2015122514204000000) # 18 nchar("2015122514
根据我的经验,从我的数据库中选择数据的位置似乎不适用于 nchar 格式的字段,但适用于 nvarchar 格式的字段。这是真的? 如果是这样,为什么将数据类型更改为 nvarchar 是唯一的解决方
我正在使用 SQL Server 2008、Visual Web Developer 2012 和 .net 4.0。我在 SQL Server 中创建了一个表并向其中添加了一些列。我为一些列指定了数
你如何决定是使用 nvarchar 还是 nchar ? 例如,我注意到由 sqlmembership 提供程序创建的默认成员数据库将 Email 列声明为 nvarchar(256) 类型 对我来说
如果这个问题已经被问过和回答过,请原谅我。我只是花了一些时间搜索我的问题,但似乎找不到。 无论如何,我在 Visual Studio 2010 和 MS SQL Server 中工作。我已经创建了数据
我正在使用带有一组参数的 JDBC Prepared Statement 使用 setString(pos, value)。表上的基础列都是 NCHAR 和 NVARCHAR2。我已设置 Oracle
我有一个包含大量 NCHAR(n) 列的数据库。其中一些列是简单属性,但有些也是主键或外键。 表和列很多,测试数据量很大。 将每个 NCHAR(n) 列转换为相同长度的 NVARCHAR(n) 列并在
我是一名优秀的程序员,十分优秀!