char和varchar2
来源:互联网 发布:linux安装phpmyadmin 编辑:程序博客网 时间:2024/06/06 19:49
创建一个测试表
SQL> create table test(c char(10));
Table created.
SQL>
1 row created.
SQL>
1 row created.
SQL> insert into test values('aaa');
1 row created.
SQL> commit;
Commit complete.
一.chr函数,把ASCII码转换成字符
SQL> select chr(97) from dual;
CH
--
a
二.dump函数,查看每一行的内部存储结构
SQL> select dump(c) from test;
DUMP(C)
--------------------------------------------------------------------------------
Typ=96 Len=10: 97,32,32,32,32,32,32,32,32,32
Typ=96 Len=10: 97,97,32,32,32,32,32,32,32,32
Typ=96 Len=10: 97,97,97,32,32,32,32,32,32,32
其中typ=96表示是char类型,len=10表示长度是10,97是字符a(与chr函数一致),32则是空格(char类型不足会使用空格补)。
三.这里再建个varchar2的表,插入同样的数据
SQL> create table test_var(c varchar2(10));
Table created.
SQL>
1 row created.
SQL> insert into test_var values('aa');
1 row created.
SQL> insert into test_var values('aaa');
1 row created.
SQL> commit;
Commit complete.
用dump函数看看他底层的存储结构
SQL> select dump(c) from test_var;
DUMP(C)
--------------------------------------------------------------------------------
Typ=1 Len=1: 97
Typ=1 Len=2: 97,97
Typ=1 Len=3: 97,97,97
四.测试下,插入同样的数据后,能不能相等,因为存储结构不同,预计是不相等的
SQL> select c.c "char",v.c "var" from test c join test_var v on c.c=v.c;
no rows selected
果然,不相等。那去掉char填充的空格后是否相等呢?
SQL> /
char
-------------------- --------------------
a
aa
aaa
果然,去除空格后,就相等了,呵呵
- char和varchar2
- char和varchar2对比
- char和varchar2的区别
- char和varchar2的区别
- char和varchar2的区别
- Char和Varchar2的区别
- char()和varchar2()的区别
- Oracle - char, nchar,varchar,varchar2(byte), varchar2(char) 和 nvarchar2
- varchar2(10 byte)和varchar2(10 char)有什么不同
- varchar2(10 byte)和varchar2(10 char)有什么不同
- varchar2(10)和varchar2(10 char)的区别
- char、varchar和varchar2的区别(zz)
- char,varchar和varchar2的区别
- char,varchar和varchar2的区别
- char和varchar2的区别(oracle)
- oracle中char和varchar2的区别
- fw:char和varchar2的区别
- char、varchar和varchar2的区别(zt)
- spring 远路接口访问及集群方案
- CVS:版本控制的开放标准
- ViewPage 显示 部分 next 和 previous 的方法。
- Android异步处理系列文章
- puppet视频
- char和varchar2
- 集群相关
- 大数据计算:如何仅用1.5KB内存为十亿对象计数
- Linux netstat命令详解
- linux RPM安装包
- ORACLE中支持正则表达式的函数REGEXP
- js 限制input只能输入数字,并删除不是数字的值
- Linux C语言开发函数学习 之一 ntohl()
- Linux中的DRM