- 浏览: 60997 次
- 性别:
- 来自: 深圳
文章分类
最新评论
oracle数据类型的用法注意事项
oracle的数据类型有以下类型:
char:定长字符串,会用空格填充最大长度
nchar:包含unicode格式数据的定长字符串
varchar2:变长字符串,不会用空格填充最大长度
nvarchar2:包含unicode的变长字符串
raw:变长二进制数据类型
number:存储精度最多达38位的数字
binary_float:10g以后新增,32位单精度浮点数
binary_double:10g以后新增,32位单精度浮点数
long:最多2G字节的字符数据,现在也不用
long raw:最多2G字节的二进制数据,现在也不用
date:包含7个属性的时间类型,不带小数位的秒数
timestamp:时间类型,不带小数位的秒数
interval year to month:定宽的时段数据类型,存储年,月的时间段
interval day to second:定宽的时段数据类型,最多又9位小数位,存储天,小时,分钟和秒的时间段
bfile:不一致读,不如说是指针
blob:最多4G的二进制数据
clob:最多4G字符数据
rowid:数据库中一行的物理地址
urowid:主键的rowid
char与varchar,尽量避免使用char,即使用char(1)
数值在性能方面number比其他两个低
可以使用cast转换为其他两个类型
时间类型的处理:
处理interval类型时,extract函数可以很好的处理,如下:
select dt2-dt1
from (select to_timestamp('29-feb-2000 01:02:03.122000',
'dd-mon-yyyy hh24:mi:ss.ff') dt1,
to_timestamp('15-mar-2001 11:22:33.000000',
'dd-mon-yyyy hh24:mi:ss.ff') dt2
from dual )
select extract( day from dt2-dt1 ) day,
extract( hour from dt2-dt1 ) hour,
extract( minute from dt2-dt1 ) minute,
extract( second from dt2-dt1 ) second
from (select to_timestamp('29-feb-2000 01:02:03.122000',
'dd-mon-yyyy hh24:mi:ss.ff') dt1,
to_timestamp('15-mar-2001 11:22:33.000000',
'dd-mon-yyyy hh24:mi:ss.ff') dt2
from dual )
select extract(year from systimestamp) year,
extract(month from systimestamp) month,
extract(day from systimestamp) day,
extract(minute from systimestamp) minute,
extract(second from systimestamp) second,
extract(timezone_hour from systimestamp) th,
extract(timezone_minute from systimestamp) tm,
extract(timezone_region from systimestamp) tr,
extract(timezone_abbr from systimestamp) ta
from dual
可以看到在数据库尽量使用timestamp字段更好
oracle的数据类型有以下类型:
char:定长字符串,会用空格填充最大长度
nchar:包含unicode格式数据的定长字符串
varchar2:变长字符串,不会用空格填充最大长度
nvarchar2:包含unicode的变长字符串
raw:变长二进制数据类型
number:存储精度最多达38位的数字
binary_float:10g以后新增,32位单精度浮点数
binary_double:10g以后新增,32位单精度浮点数
long:最多2G字节的字符数据,现在也不用
long raw:最多2G字节的二进制数据,现在也不用
date:包含7个属性的时间类型,不带小数位的秒数
timestamp:时间类型,不带小数位的秒数
interval year to month:定宽的时段数据类型,存储年,月的时间段
interval day to second:定宽的时段数据类型,最多又9位小数位,存储天,小时,分钟和秒的时间段
bfile:不一致读,不如说是指针
blob:最多4G的二进制数据
clob:最多4G字符数据
rowid:数据库中一行的物理地址
urowid:主键的rowid
char与varchar,尽量避免使用char,即使用char(1)
数值在性能方面number比其他两个低
可以使用cast转换为其他两个类型
时间类型的处理:
处理interval类型时,extract函数可以很好的处理,如下:
select dt2-dt1
from (select to_timestamp('29-feb-2000 01:02:03.122000',
'dd-mon-yyyy hh24:mi:ss.ff') dt1,
to_timestamp('15-mar-2001 11:22:33.000000',
'dd-mon-yyyy hh24:mi:ss.ff') dt2
from dual )
select extract( day from dt2-dt1 ) day,
extract( hour from dt2-dt1 ) hour,
extract( minute from dt2-dt1 ) minute,
extract( second from dt2-dt1 ) second
from (select to_timestamp('29-feb-2000 01:02:03.122000',
'dd-mon-yyyy hh24:mi:ss.ff') dt1,
to_timestamp('15-mar-2001 11:22:33.000000',
'dd-mon-yyyy hh24:mi:ss.ff') dt2
from dual )
select extract(year from systimestamp) year,
extract(month from systimestamp) month,
extract(day from systimestamp) day,
extract(minute from systimestamp) minute,
extract(second from systimestamp) second,
extract(timezone_hour from systimestamp) th,
extract(timezone_minute from systimestamp) tm,
extract(timezone_region from systimestamp) tr,
extract(timezone_abbr from systimestamp) ta
from dual
可以看到在数据库尽量使用timestamp字段更好
发表评论
-
oracle11g提示服务不可用
2014-09-26 17:36 571今天遇到一个问题,本地1521端口启用,但远程不能访问 修改监 ... -
手工用户创建,老是记不住,记录
2014-09-18 13:53 318Oracle创建表空间、创建用户以及授权、查看权限 创建临 ... -
gdul
2014-08-15 15:16 469一直想自己也写个dul工具,无奈理解得不够深入 几天前看到别人 ... -
SQL调优
2014-06-20 14:14 379网上看到如下sql: 留一个线索在此 select /*+ ... -
表闪回
2014-06-19 16:13 330使用delete删除数据的情况,如果是truncate只能用数 ... -
外键约束
2014-06-19 16:02 389删除一个表时,提示有外键约束,ORA-02292: 违反完整约 ... -
get_ddl使用
2014-05-19 16:45 422查看oracle中表定义等,需要使用dbms_metadata ... -
PL/SQL语法
2014-05-09 11:38 377今天写plsql,很久没写了,很简单的,也不想参看以前写的,怎 ... -
归档日志满的处理
2014-05-04 10:07 750只是一个记录贴,方便查阅。完全没有新意 归档日志一般需要保留 ... -
数据的导出导入
2013-12-30 12:41 354异构数据库之间数据交换,主要使用txt文本文件 以下记录一个工 ... -
exp增量
2013-12-17 17:09 343很久没有写文章了,今天遇到一个老问题,exp增量备份 记 ... -
查找oracle的操作日志
2013-12-17 16:48 551今天程序有些功能不能用了,查了一下,发现某些表对象删除了 ... -
数结构的查询
2013-09-27 18:33 0很早之前就使用过该功能,每次都记不住,每次都要搜索 索性记录一 ... -
面试中的SQL
2013-09-27 12:07 452虽然有些时间没有面试过了 在我的印象中,sql中行列转换的问题 ... -
oracle SQL特性使用
2013-09-27 11:25 378oracle分析函数 统计记录中类似1/222这样的记录 se ... -
oracle内部原理
2013-09-26 11:17 951总是以为对oracle很了解,已经使用了好多年,基本是增、删、 ... -
oracle跟踪程序执行的SQL
2013-09-24 15:34 1104专门记录一下,对于系统调优很重要 1.oracle的10046 ... -
ORA-01555处理
2013-09-22 16:44 590有时表太大,导出时出现1555错误,可以采用分段方式处理。 以 ... -
BLOB字段操作
2013-09-18 10:00 885置为空或NULL update blob_test set b ... -
统计表的大小
2013-09-11 17:29 360统计用户表的大小: SELECT * FROM ( SEL ...
相关推荐
Oracle 9i作为一款历史悠久的版本,虽然现在已经较为陈旧,但其安装步骤和注意事项仍具有参考价值。以下是安装Oracle 9i时应考虑的重要知识点: 1. **系统要求**:首先,检查你的操作系统是否支持Oracle 9i。该版本...
### Oracle转MySQL注意事项详解 #### 一、概述 在企业级应用中,有时需要将现有的Oracle数据库迁移到MySQL,这不仅涉及到技术上的挑战,还可能影响到整个系统的稳定性和性能。本文档旨在提供一个全面的指南,帮助...
`sqluldr2`是Oracle数据库系统中一个用于快速数据导入和导出的实用程序,它是`SQL*Loader`的一部分,常被用来批量加载大量数据到Oracle表中,...了解并熟练掌握其使用方法,能够显著提升数据库管理和维护的工作效率。
### ORACLE移植DB2注意事项 在进行Oracle到DB2数据库移植的过程中,需要注意多个方面的差异,以确保移植后的应用能够正常运行。以下将详细介绍几个关键点: #### 1. 字符串与数字的区别处理 在Oracle中,如果在...
- 避免使用“Oracle provider for OLE DB”,因为它可能不支持某些Oracle数据类型。 - 应该使用“OracleProviderforOLEDB”,即“OraOLEDB.Oracle”作为Provider名称,它可以更好地支持Oracle的各种数据类型。 2....
**注意事项** - 数据大小:如果Excel文件非常大,可能需要分批导入,以避免内存不足。 - 编码问题:确保Excel文件和Oracle数据库的字符集一致,避免乱码问题。 - 错误处理:在导入过程中,应对可能出现的错误进行...
#### 四、注意事项 1. **备份数据**:在进行任何重大更改之前,强烈建议先备份数据,以防万一出现问题可以恢复数据。 2. **事务管理**:在整个过程中,应合理使用`COMMIT`命令来提交更改,确保每一步都按预期执行。 ...
#### 四、注意事项 - 在创建快照之前,确保已经为表创建了MATERIALIZED VIEW LOG。 - 快照仅能保留最近一段时间的数据,因此应及时刷新快照以保持其有效性。 - 使用快照恢复数据时,应确保所选时间点的数据是有效的...
#### 六、Oracle 数据备份与恢复注意事项 1. **备份策略**:根据业务需求制定合理的备份策略,如定期进行全备和增量备份。 2. **测试恢复**:定期进行备份文件的恢复测试,确保备份的有效性和完整性。 3. **监控...
本文将详细介绍如何在Oracle中实现CLOB字段到字符串类型的转换,并探讨其中的关键技术和注意事项。 #### 一、CLOB概述 1. **定义**: - `CLOB`是Oracle数据库提供的一种特殊的数据类型,用于存储大文本数据。 - ...
在Oracle数据库管理中,数据导入是一项常见的操作,用于...综上所述,Oracle数据导入涉及到多个步骤,包括控制文件的编写、批处理文件的创建以及导入过程的监控。理解这些细节有助于更有效地管理和维护数据库中的数据。
- Oracle 数据库支持多种数据类型,包括 SDO_GEOMETRY 类型,用于存储空间特征坐标。 - 推荐在表中包含 SDO_GEOMETRY 列,并保持与其他列的一对一关系。 3. **元数据、容限和坐标系** - **元数据管理**:确保...
- 对于特定数据库系统的特殊数据类型,如Oracle的BLOB或CLOB,可能需要使用特定的JDBC方法或API进行处理。 - 字符串到数值的转换可能会因为前导空格、尾随非数字字符等原因导致异常,需要在转换前进行适当的预处理...
- 导入时,可以指定各种选项,如只导入特定的表、忽略错误、转换数据类型等。 6. **并行与优化**: - 数据泵支持并行导出和导入,通过设置`PARALLEL`参数可以提高效率,尤其是在处理大量数据时。 - 可以使用`...
### 五、注意事项 - 在处理大型Blob数据时,需要注意内存使用情况,避免因内存不足导致的问题。 - 为了提高性能,可以考虑使用流式处理方式来读取和写入Blob数据。 - 安全性方面,需要确保连接字符串的安全性和...
注意事项 - 在进行数据恢复前,最好先验证备份文件的完整性。 - 如果是生产环境中的数据恢复,建议先在测试环境中进行预演,以避免意外情况发生。 ### 五、最佳实践 1. **定期备份**:应制定合理的备份计划,定期...
使用临时表的注意事项 使用临时表时需要注意以下几点: * 临时表应该在应用程序安装时创建,而不是在运行时创建。 * 在存储过程中创建临时表不是正确的方法,因为 DDL 操作非常耗费资源。 * 临时表应该在应用程序...
CLOB类型是Oracle数据库中用于存储大量文本数据的数据类型,它可以存储最大为4GB的文本数据。在实际应用中,当需要存储的文章、报告或者XML文档等文本信息超过常规VARCHAR2类型的限制时,CLOB便成为首选。 ### 二、...
在本篇中,我们将深入探讨Oracle的数据导入导出及Sql Loader的使用方法。 1. **Oracle数据导入导出** Oracle提供了多种数据导入导出工具,包括`expdp`(Export Data Pump)和`impdp`(Import Data Pump)以及传统的...