社区
疑难问题
帖子详情
有varchar,为什么还要char,在哪些情况下用char有什么好处?
linxiao
2003-05-06 01:24:46
有varchar,为什么还要char,在哪些情况下用char有什么好处?
...全文
502
7
打赏
收藏
有varchar,为什么还要char,在哪些情况下用char有什么好处?
有varchar,为什么还要char,在哪些情况下用char有什么好处?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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用时比较灵活,大小也适合掌握
浅析Oracle中
char
和
var
char
2的区别 电脑资料.docx
浅析Oracle中
char
和
var
char
2的区别 电脑资料.docx
MySQL
CHAR
和
VAR
CHAR
存储、读取时的差别
导读 你真的知道
CHAR
和
VAR
CHAR
类型在存储和读取时的区别吗? 还是先抛几条结论吧: 1、存储的时候,
CHAR
总是会补足空格后再存储,不管用户插入数据时尾部有没有包含空格。 2、存储的时候,
VAR
CHAR
不会先补足空格后再存储,但如果是用户在插入时特地加了空格那就会如实存储,而不会给删除。 3、读取数据时,
CHAR
总是会删除尾部空格(哪怕是写入时包含空格)。 4、读取数据时,
VAR
CHAR
总是如实取出之前存入的值(如果存储时尾部包含空格,就会继续保留着,不会像
CHAR
那样删除尾部空格)。 下面是测试验证过程。 1、测试
CHAR
类型 表结构: CREATE TABLE `t
char
`
MySQL数据库
char
与
var
char
的区别分析及使用建议
在数据库中,字符 型的数据是最多的,可以占到整个数据库的80%以上。为此正确处理字符型的数据,对于提高数据库的性能有很大的作用。在字符型数据中,用的最多的就是
Char
与
Var
char
两种类型。前面的是固定长度,而后面的是可变长度。现在我们需要考虑的是,在什么
情况
下使用
Char
字符型数据,什么
情况
下采用
Var
char
字符型数据。 一、
VAR
CHAR
与
CHAR
字符型数据的差异 在MySQL数据库中,用的最多的字符型数据类型就是
Var
char
和
Char
.。这两种数据类型虽然都是用来存放字符型数据,但是无论从结构还是 从数据的保存方式来看,两者相差很大。而且其具体的实现方式,还依赖与存储引擎。我这
SQL数据类型n
char
_
char
_
var
char
与n
var
char
区别
n
char
_
char
_
var
char
与n
var
char
有何区别?
MYSQL中
char
和
var
char
的区别
CHAR
和
VAR
CHAR
类型相似,差别主要在存储,尾随空格和检索方式上。
CHAR
和
VAR
CHAR
相同的是:
CHAR
和
VAR
CHAR
都指定了字符长度,注意是字符长度。例如
char
(30) 和
var
char
(30)表示都可以存30个字符。有一点要注意的是在utf8mb4编码中,每个字符占4个节点。在utf8中,每个字符占3个字节。当要存储的字符超过
CHAR
/
VAR
CHAR
指定的最大长度。在sql mode 没开启的时候是截断要存储的字串,只存储前30位
CHAR
列中的值是定长的字符串。长度可以指定为0到255个字符(例如utf8mb4: 0-255*4个字节)之间的值当使用
CHAR
存储字符时,
疑难问题
22,298
社区成员
121,733
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章