ORACLE column_type_id与实际type的对应关系

最近开发的时候经常要针对数据库中的列类型对其值做不同处理,于是要根据抓到的type_id来判断。以下是从ORACLE一个standard view中抓取出来的对应关系的decode,未加处理,直接贴上,供参考。[@more@]

1, DECODE (c.CHARSETFORM, 2, 'NVARCHAR2', 'VARCHAR2'),

2, DECODE (c.scale,

NULL, DECODE (c.precision#,

NULL, 'NUMBER',

'FLOAT'

),

'NUMBER'

),

8, 'LONG',

9, DECODE (c.CHARSETFORM, 2, 'NCHAR VARYING', 'VARCHAR'),

12, 'DATE',

23, 'RAW',

24, 'LONG RAW',

58, NVL2 (ac.synobj#, (SELECT o.NAME

FROM SYS.obj$ o

WHERE o.obj# = ac.synobj#), ot.NAME),

69, 'ROWID',

96, DECODE (c.CHARSETFORM, 2, 'NCHAR', 'CHAR'),

105, 'MLSLABEL',

106, 'MLSLABEL',

111, NVL2 (ac.synobj#, (SELECT o.NAME

FROM SYS.obj$ o

WHERE o.obj# = ac.synobj#), ot.NAME),

112, DECODE (c.CHARSETFORM, 2, 'NCLOB', 'CLOB'),

113, 'BLOB',

114, 'BFILE',

115, 'CFILE',

121, NVL2 (ac.synobj#, (SELECT o.NAME

FROM SYS.obj$ o

WHERE o.obj# = ac.synobj#), ot.NAME),

122, NVL2 (ac.synobj#, (SELECT o.NAME

FROM SYS.obj$ o

WHERE o.obj# = ac.synobj#), ot.NAME),

123, NVL2 (ac.synobj#, (SELECT o.NAME

FROM SYS.obj$ o

WHERE o.obj# = ac.synobj#), ot.NAME),

178, 'TIME(' || c.scale || ')',

179, 'TIME(' || c.scale || ')' || ' WITH TIME ZONE',

180, 'TIMESTAMP(' || c.scale || ')',

181, 'TIMESTAMP(' || c.scale || ')' || ' WITH TIME ZONE',

231, 'TIMESTAMP(' || c.scale || ')' || ' WITH LOCAL TIME ZONE',

182, 'INTERVAL YEAR(' || c.precision# || ') TO MONTH',

183, 'INTERVAL DAY('

|| c.precision#

|| ') TO SECOND('

|| c.scale

|| ')',

208, 'UROWID',

'UNDEFINED')

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/767125/viewspace-912536/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/767125/viewspace-912536/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值