oracle基本数据类型即测试

Create Table t_varchar (
       -- varchar2为可变长度字符类型(必须指定范围0-4000)
       -- 虽然是变长,但是字符数如果大于指定长度会报错
       col_varchar2 VARCHAR2(5),
       -- char为定长字符类型(必须指定范围0-2000)
       -- 默认长度1
       col_char CHAR,
       -- 长度不够会加空格填充
       col_char2 CHAR(5),
       
       
       -- long和clob的区别:
              -- 1.一个表中只能有一个LONG,但可以有多个CLOB
              -- 2.clob最长可以4G,long是2G
              -- 3.存储方式不同,LONG是把值真正存在记录上的,而CLOB只是在记录上存一个指针
       -- 最大长度2G的可变长度字符数据(通常情况使用clob而不是long,因为long有很多约束)
--       col_long LONG,
       -- 最大4G的字符数据(Character Large Object)
       col_clob CLOB,
       
       -- number(p,s)
       -- p(1-38):整数位长度+小数位长度
       -- s(-84-127):小数为长度,大于指定长度自动四舍五入,默认小数位精度为5
       col_number NUMBER,
       col_number2 NUMBER(3),
       -- number(p,s)
       -- 如果指定,则整数位为必须的满足指定长度,这里整数位为3-2=1,则整数位长度不能大于1,否则报错
       -- 小数位可以大于长度,但数据库会自动四舍五入到指定位
       col_number3 NUMBER(3,2),
       -- 注意:查询出来默认会进行15位round,但是实际是没有精度问题的,用to_char函数查看原始数据
       -- 注意:在pl/sql developer中->tools->preferences->sql windows->number fields tochar,选中该选项即可解决15位自动round问题。 
       col_number4 NUMBER(*,2),
       -- 日期类型(4712.1.1-9999.12.31)
       create_time DATE,
       -- 原始二进制数据,必须指定最大长度(2000)
       col_raw RAW(1000),
       -- 原始可变长度二进制数据,(2G)
       col_long_row LONG RAW,
       -- 二进制数据,(4G)
       col_blob BLOB
       -- 二进制数据存在一个外部文件中,(4G)
       ,col_bfile BFILE
      
       
)
-- bfile数据类型使用
create directory bfiledir2 as 'D:\oracle_bfile';
-- GRANT READ ON DIRECTORY oracle_bfile TO scott;
grant read on directory bfile_dir to scott;

-- 这里使用bfile类型的的一个大坑(文件名称必须大写才行,之前用小写的一直显示valueError)
INSERT INTO t_varchar VALUES('aaa','c','bbb',
       -- 'longlonglong',
       'clobclobclob',
       123456789012345678.12345678901,123.52345678901,1.49999,123456789012345678.12345678901,
       sysdate,utl_raw.cast_to_raw('aaa'),HEXTORAW('11'),utl_raw.cast_to_raw('ab')
       ,BFILENAME(upper('aaa'), '11.jpg')
);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值