社区
疑难问题
帖子详情
有varchar,为什么还要char,在哪些情况下用char有什么好处?
linxiao
2003-05-06 01:24:46
有varchar,为什么还要char,在哪些情况下用char有什么好处?
...全文
560
7
打赏
收藏
有varchar,为什么还要char,在哪些情况下用char有什么好处?
有varchar,为什么还要char,在哪些情况下用char有什么好处?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
CrazyFor
2003-05-06
打赏
举报
回复
当你要保存固定长度的字段时用char,如果字段内容的长度不是固定的常数,那就用VARCHAR。
linxiao
2003-05-06
打赏
举报
回复
例如,如果一个列被定义为 char(10) 并且要存储的数据是 "music ",则 SQL Server 将这个数据存储为 "music_____ ",这里 "_ "表示空格
----這樣啊?我要
查询music时候,数据库中存储的是music_____ 会不会查不出来啊?
Quady515
2003-05-06
打赏
举报
回复
char 和 varchar
固定长度 (char) 或可变长度 (varchar) 字符数据类型。
char[(n)]
长度为 n 个字节的固定长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为 n 个字节。char 在 SQL-92 中的同义词为 character。
varchar[(n)]
长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。所输入的数据字符长度可以为零。varchar 在 SQL-92 中的同义词为 char varying 或 character varying。
注意:char是固定长度,而varchar是变长,
例如,如果一个列被定义为 char(10) 并且要存储的数据是"music",则 SQL Server 将这个数据存储为"music_____",这里"_"表示空格。而varchar(10),数据存储为"music",无空格
haike_911
2003-05-06
打赏
举报
回复
varcahr想楼上说的,用char时最好的是存储和提取数据时非常快速!相对varchar来说比较快!!!
cappuccinomn
2003-05-06
打赏
举报
回复
varchar是可变字节的数据类型,因此每条记录的存储空间不可预计,查询时比较困难,char是不可变字节的,存储空间固定,查询比较时方便快捷,换句话说,varchar虽然提供了较高的灵活性,但确实已性能为代价,尤其是大型数据库,所以,能用char是最好不要用varchar
caiyunxia
2003-05-06
打赏
举报
回复
char 和 varchar
固定长度 (char) 或可变长度 (varchar) 字符数据类型。
char[(n)]
长度为 n 个字节的固定长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为 n 个字节。char 在 SQL-92 中的同义词为 character。
varchar[(n)]
长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。所输入的数据字符长度可以为零。varchar 在 SQL-92 中的同义词为 char varying 或 character varying。
注释
如果没有在数据定义或变量声明语句中指定 n,则默认长度为 1。如果没有使用 CAST 函数指定 n,则默认长度为 30。
将为使用 char 或 varchar 的对象被指派数据库的默认排序规则,除非用 COLLATE 子句另外指派了特定的排序规则。该排序规则控制用于存储字符数据的代码页。
支持多语言的站点应考虑使用 Unicode nchar 或 nvarchar 数据类型以尽量减少字符转换问题。如果使用 char 或 varchar:
如果希望列中的数据值大小接近一致,请使用 char。
如果希望列中的数据值大小显著不同,请使用 varchar。
如果执行 CREATE TABLE 或 ALTER TABLE 时 SET ANSI_PADDING 为 OFF,则一个定义为 NULL 的 char 列将被作为 varchar 处理。
当排序规则代码页使用双字节字符时,存储大小仍然为 n 个字节。根据字符串的不同,n 个字节的存储大小可能小于 n 个字符。
ElsaSun
2003-05-06
打赏
举报
回复
varchar用时比较灵活,大小也适合掌握
MySQL 深入剖析
char
var
char
类型,有了
VAR
CHAR
,为什么还要有
CHAR
?
http://blog.csdn.net/hjm4702192/article/details/8434919 前言: 相信大家都用过这两种类型,可能觉得它们两个太像了,好像没有什么区别,用这两个都可以存文字和数字还有空格和标点符号。在设计数据库的时候,也的确不太能区分什么时候用
CHAR
,什么时候用
VAR
CHAR
. 今天就详细的查看和测试了一下这两个字
CHAR
和
VAR
CHAR
的区别
CHAR
:适用于存储固定长度的字符串,如国家代码、邮政编码、或固定格式的日期。其定长特性可能提高某些查询的性能,但可能导致存储空间的浪费。
VAR
CHAR
:适用于存储可变长度的字符串,如姓名、地址、描述性文本。它更节省空间,但在高频查询中,性能可能稍差。在选择使用
CHAR
还是
VAR
CHAR
时,应根据具体应用场景、数据的特点、以及存储与性能的平衡来做出决定。在需要存储长度变化较大的数据时,
VAR
CHAR
是更好的选择;而在存储长度固定的数据时,
CHAR
则更加合适。
mysql有
var
char
2吗_
char
、
var
char
、
var
char
2区别
char
var
char
var
char
2 的区别 区别: 1.
CHAR
的长度是固定的,而
VAR
CHAR
2的长度是可以变化的, 比如,存储字符串“abc,对于
CHAR
(20),表示你存储的字符将占20个字节(包括17个空字符),而同样的
VAR
CHAR
2 (20)则只占用3个字节的长度,20只是最大,当你存储的
char
var
char
var
char
2 的区别区别:1.
CHAR
的长度是固定的,而V...
Oracle
char
与
var
char
2的区别
char
和
Var
char
2在Oracle的内部存储格式都一样都是数据长度length+实际数据data,其中数据长度length用1-3个字节表示,length255用3个字节表示。 Thomas Kyte的建议是忘记有
char
类型的存在,在一切需要字符的地方都是用
var
char
2格式。 “不过,如果混合使用并匹配
VAR
CHAR
2 和
CHAR
,你就会不断地遭遇这个问题。不仅如此,开发人员 现 在还必须在应用中考虑字段宽度。如果开发人员喜欢使用 RPAD() 技巧将绑定变量转换为某种能与
char
var
char
var
char
2 的区别
char
var
char
var
char
2 的区别 区别: 1.
CHAR
的长度是固定的,而
VAR
CHAR
2的长度是可以变化的, 比如,存储字符串“abc",对于
CHAR
(20),表示你存储的字符将占20个字节(包括17个空字符),而同样的
VAR
CHAR
2 (20)则只占用3个字节的长度,20只是最大值,当你存储的字符小于20时,按实际长度存储。 2.
CHAR
的效率比
VAR
CHAR
2的效率稍高。 ...
疑难问题
22,298
社区成员
121,727
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章