Oracle数据类型char与varchar的对比
使用scott用户连接数据库
新建一个表
create table stu01(name char(32));
插入一条数据
insert into stu01 values('liuyueming');
查询
select * from stu01;
PS:如果是使用客户端连接可能无法查看到数据,需要在命令行commit提交
char(32)代表字符类型最长32位,如果不够32位使用空格补齐
使用dump(name)搜索就能显示出来,字符转换成了字符码
Oracle常用的数据类型
1,char(size)
存放定长的字符串,最大存放2000个字符
PS:字符串的长度一般为16的倍数
例如 char(32),存放32个字符(超出不行,不够32位使用空格补齐)
如果超出插入不进会出现错误提示
新建表如果超过2000也会报错
2,varchar2(size)
解释:变长,最大可以存放4000个字符
新建一个表
create table stu02(name varchar2(16));
插入数据并且查看(是变长的不会以空格补齐)
存放了leo的三个字符,实际存放在数据库中,就只占用了3个字符,其余剩下的字符就被回收了,提高利用率
说明:
如果我们的数据是固定长度的,比如手机号码(11位),比如身份证号码,则应当使用插入来存放,这样
的好处是查询与检索速度较快;
而如果存放的字符串长度不固定,则建议使用varchar2(size)
原因:查询char类型的字段时,作为整体进行查询,而varchar2是一个个数据进行对比的
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!