问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

什么是字段长度值

发布网友 发布时间:2022-05-10 22:21

我来回答

1个回答

热心网友 时间:2023-11-07 20:05

char [ ( n ) ]

固定长度字符数据类型,非Unicode字符数据,长度为n个字节。

n 的取值范围为 1至 8,000,存储大小是n个字节。如果输入的

字符串长度不足N 则在右边用空格补足.

例:

declare @str char(5)
set @str='ab'
select @str
select DATALENGTH(@str)
/*
ab(三个空格)
----------------------
5
*/

varchar [ ( n | max ) ]

可变长度的字符数据类型,非Unicode字符数据。n的取值范围为

1 至 8,000或者max,max指示最大存储大小是 2^31-1(2^31为的次方)个字节。

存储大小是输入数据的实际长度加 2 个字节。所输入数据的长度可以为 0 个字符。

例:

declare @str varchar(5)
set @str='ab'
select @str
select DATALENGTH(@str)
/*
ab(没有空格)
----------------------
2
*/

如果未在数据定义或变量声明语句中指定 n,则默认长度为 1。

如果在使用 CAST 和 CONVERT函数时未指定n,则默认长度为 30。

将为使用 char或varchar 的对象指派数据库的默认排序规则,

除非使用 COLLATE子句指派了特定的排序规则。

该排序规则控制用于存储字符数据的代码页。

如果站点支持多语言,请考虑使用Unicodenchar 或 nvarchar 数据类型,

以最大限度地消除字符转换问题。如果使用char或 varchar,建议执行以下操作:

如果列数据项的大小一致,则使用char。

如果列数据项的大小差异相当大,则使用varchar。

如果列数据项大小相差很大,而且大小可能超过 8,000字节,请使用varchar(max)。

当执行 CREATETABLE或 ALTER TABLE 时,如果SETANSI_PADDING 为 OFF,则定义为NULL的 char 列将作为 varchar处理。

当排序规则代码页使用双字节字符时,存储大小仍然为n个字节。根据字符串的不同,n个字节的存储大小可能小于n 个字符。

字符数据类型(nchar长度固定,nvarchar长度可变)和 Unicode数据使用 UNICODEUCS-2字符集。

nchar [ ( n ) ]

n 个字符的固定长度的Unicode字符数据。n值必须在 1到 4,000之间(含)。

存储大小为两倍 n 字节。

例:

declare @str1 nchar(5)
set @str1='ab'
select @str1
select DATALENGTH(@str1)

/*
ab(三个空格)
---------------
10
*/

declare @str2 nchar(5)
set @str2='我爱你小三'
select @str2
select DATALENGTH(@str2)
/*
我爱你小三
------------------
10
*/

nvarchar [ ( n | max ) ]

可变长度 Unicode 字符数据。n值在 1到 4,000之间(含)。

max 指示最大存储大小为 2^31-1字节。存储大小是所输入字符个数的两倍+ 2 个字节。

所输入数据的长度可以为 0 个字符。

例:

declare @str1 nvarchar(5)
set @str1='ab'
select @str1
select DATALENGTH(@str1)

/*
ab(无空格)
---------------
4
*/

declare @str2 nvarchar(5)
set @str2='我爱你小三'
select @str2
select DATALENGTH(@str2)

/*
我爱你刘桦
------------------
10
*/

如果没有在数据定义或变量声明语句中指定 n,则默认长度为 1。如果没有使用CAST函数指定 n,则默认长度为 30。

如果列数据项的大小可能相同,请使用nchar。

如果列数据项的大小可能差异很大,请使用nvarchar。

sysname 是系统提供的用户定义数据类型,除了不可为空值外,

在功能上与 nvarchar(128)相同。sysname用于引用数据库对象名。

为使用 nchar或nvarchar 的对象分配的是默认的数据库排序规则,

但可使用 COLLATE子句分配特定的排序规则。

SET ANSI_PADDINGON永远适用于 nchar 和 nvarchar。SETANSI_PADDINGOFF不适用于 nchar 或nvarchar 数据类型。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...和O3、1H216O和2H218O.下列有关说法正确的是( )A.35Cl和37Cl互称为... ...做环境分析指示物.下列说法中正确的是( )A.1H216O在相同 ...1H、2H、3H,氧也有3钟同位素:16O、17O、18O,那么水的种类最多有... 全身没力气、想睡觉怎么回事 我的乙肝检查单 请帮忙看看 帮忙看看乙肝检查报告 谢谢 万分感谢!好人一生平安 麻烦帮我看看乙肝两对半的结果 五冶集团由哪家控股 我的苹果6手机百度视频播放不了是什么原因? 高一怎么选科历生地 VBA中如何设置字段的字段大小,字段大小和字段宽度一样吗? 关于数据库中的字段的大小定义 在access2007中,字段属性中有字段大小指的是什么意思? 字段长度和字段大小的区别是什么?如何修改字段长度和大小? 什么是字段大小 新学编程用哪个 搜索Linux 比较好 如何投诉别人的 不是对方微信好友,但是知道对方,怎么举报对方? 事业单位工资改革方案的组织实施 事业单位工资改革方案的改革方向 公务员工资沿革:四次大改革有哪 搬砖的高大上说法 打扑克文雅的说法? 为什么麻将里面的南风叫初恋情人南南? 喝了樱花减肥茶,白天不拉,晚上拉,这是为什么 我在超市买的樱花减肥茶,以前是一天拉两次,比如早上喝晚上拉,夜里拉一次。现在死活就一次,而且是早上 樱花减肥茶是饭后喝吗, 栗子和柿子能同时吃吗? 小艺可以定时发微信吗 柿子栗子可以同吃吗 什么是字段宽度? number类型的“字段长度”是什么意思? ACCESS 2003问题 关于ACCESS的字段大小的问题 字段内容长度必须为19是什么意思 通过怎么添加好友 我现在在学hibernate,差不多有一个多月了吧,开始看的精通hibernate,然后看了hibernate自带的小例子 不是对方微信好友,但是知道对方,怎么举报对方? 如何投诉别人的 我要加别人怎么加 我要加入别人微信,既没电话号又没怎么加? LRG骷髅全拉链卫衣套装 茅鸡鸟是国家几级保护动物? 地三鲜代表什么生肖? 现在野生红毛鸡价格 红毛鸡多少钱一只 野生红毛鸡怎么做窝? 地三鲜是啥 什么是"地三鲜"呀 抓国家二级保护动物红毛鸡,罪有多大