社区
C语言
帖子详情
varchar到底是什么?
liubula
2012-03-19 01:12:30
偶然见着的,求指教,在下刚学c语言不久。
...全文
334
3
打赏
收藏
varchar到底是什么?
偶然见着的,求指教,在下刚学c语言不久。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
赵4老师
2012-03-19
打赏
举报
回复
C语言里面没有varchar
gold_water
2012-03-19
打赏
举报
回复
简单理解,据说:
char[5],无论当前变量中存放几个字符,如2个,所占长度也是5个;但是效率比较高点;
varchar[5],根据实际存放字符占用空间,如果是2个字符,实际就占2个;相对来说省点空间,但效率不高。
赵4老师
2012-03-19
打赏
举报
回复
以下内容摘自《SQL Server 联机丛书》
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 个字符。
MySQL 5.7优化视频教程
MySQL 5.7新增了众多特色功能,诸如Optimizer增强、支持多个触发器、P_S增强、增加sys schema、在线修改
VARCHAR
长度、并发复制等,对于提升SQL效率都有很大帮助,作为非专业DBA,如何利用这些特性帮助我们做好SQL...
char和
varchar
有什么区别?
VARCHAR
是可变长度的。 CHAR 是固定长度。 如果您的内容是固定大小的,那么您将获得更好性能的CHAR 有关详细解释,请参阅CHAR和
VARCHAR
类型的MySQL页面(请务必阅读注释)。 CHAR 1.用于存储固定长度的字符串值。 2.最大数量 数据类型可容纳的字符数为255个字符。 3.它比
varchar
**快50%**。 4.使用静态内容分配
VARCHAR
1...
sqlserver中
varchar
类型输入汉字变成?
场景:表结构中字段类型为
varchar
,用N’的形式插入或者修改都是? 解决办法:
varchar
改为n
varchar
区别
varchar
(n)长度为 n 个字节的可变长度且非 Unicode 的字符数据。 n
varchar
(n)包含 n 个字符的可变长度 Unicode 字符数据。 ...
MySQL中
VARCHAR
最大长度是多少?CHAR和
VARCHAR
有哪些区别?
以我多年经验来看,
VARCHAR
的最大长度、字符串类型选择,用MySQL的人中十之七八是不清楚的。 本文不止介绍了原理,还提供了案例手把手教你自己分析,彻底解决你的疑惑。 假设有个
VARCHAR
(64) CHARSET utf8mb4列,存储了中国cn这个字符串。 那你猜一猜,MySQL存储时用了多少字节? A:4 Bytes B:5 Bytes C:8 Bytes D:9 Bytes E:10 Bytes F:10.125 Bytes G:11 Bytes H:12 Bytes I:12.125 Byte
在Mysql中为什么定义
varchar
(255)?
在mysql中为什么定义
varchar
(255)?
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章