- 浏览: 7349163 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1546)
- 企业中间件 (236)
- 企业应用面临的问题 (236)
- 小布Oracle学习笔记汇总 (36)
- Spring 开发应用 (54)
- IBatis开发应用 (16)
- Oracle基础学习 (23)
- struts2.0 (41)
- JVM&ClassLoader&GC (16)
- JQuery的开发应用 (17)
- WebService的开发应用 (21)
- Java&Socket (44)
- 开源组件的应用 (254)
- 常用Javascript的开发应用 (28)
- J2EE开发技术指南 (163)
- EJB3开发应用 (11)
- GIS&Mobile&MAP (36)
- SWT-GEF-RCP (52)
- 算法&数据结构 (6)
- Apache开源组件研究 (62)
- Hibernate 学习应用 (57)
- java并发编程 (59)
- MySQL&Mongodb&MS/SQL (15)
- Oracle数据库实验室 (55)
- 搜索引擎的开发应用 (34)
- 软件工程师笔试经典 (14)
- 其他杂项 (10)
- AndroidPn& MQTT&C2DM&推技术 (29)
- ActiveMQ学习和研究 (38)
- Google技术应用开发和API分析 (11)
- flex的学习总结 (59)
- 项目中一点总结 (20)
- java疑惑 java面向对象编程 (28)
- Android 开发学习 (133)
- linux和UNIX的总结 (37)
- Titanium学习总结 (20)
- JQueryMobile学习总结 (34)
- Phonegap学习总结 (32)
- HTML5学习总结 (41)
- JeeCMS研究和理解分析 (9)
最新评论
-
lgh1992314:
[u][i][b][flash=200,200][url][i ...
看看mybatis 源代码 -
尼古拉斯.fwp:
图片根本就不出来好吧。。。。。。
Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传 -
ln94223:
第一个应该用排它网关吧 怎么是并行网关, 并行网关是所有exe ...
工作流Activiti的学习总结(八)Activiti自动执行的应用 -
ZY199266:
获取不到任何消息信息,请问这是什么原因呢?
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息 -
xiaoyao霄:
DestinationSourceMonitor 报错 应该导 ...
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息
1、采用“yyyy-MM-dd HH:mm:ssORA 01810 格式作为格式进行转换的弊端
在使用Oracle的to_date函数来做日期转换时,许多程序员会下意识的采用“yyyy-MM-dd HH:mm:ss”格式作为格式进行转换,但是在Oracle中会引起错误:“ORA 01810 格式代码出现两次”。
示例:
select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm:ss') from dual;
原因是SQL中不区分大小写,MM和mm被认为是相同的格式代码,所以Oracle的SQL采用了mi代替分钟。
select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;
2、此外,我们还需要以24小时的形式显示出要用的HH24
select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;//mi是分钟
select to_char(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual;//mm会显示月份
在实际的工作和学习中,为了分页或查询性能的需要,往往需要从数据库查询固定行数的记录,不同的数据库有不同的SQL语句来完成,在Oracle数据库中,我们可以用下面的方法来实现,假设要从一个有百万条记录的表中每次取10万条进行处理,可以按下面步骤进行:
1、创建表
Drop TABLE VEHICLE;
Create TABLE VEHICLE (
MAKE VARCHAR2(256) NOT NULL,
MODEL VARCHAR2(256),
REGISTRATION_NO NUMBER(15) NOT NULL primary key,
AGE NUMBER(2,1) NOT NULL,
CATEGORY VARCHAR(1) NOT NULL,
MILAGE NUMBER(15,2) NOT NULL,
LAST_SERVICE_DATE DATE NOT NULL
);
2、插入数据
可以用入下存储过程进行批量数据的插入,
create or replace PROCEDURE INSERT_APPOINTED_RECORDS
( startNum IN NUMBER, endNum IN NUMBER) AS
i number:=startNum;
j number:=endNum;
BEGIN
dbms_output.put_line(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') );
While i<=j Loop
INSERT INTO
VEHICLE (REGISTRATION_NO,MAKE,MODEL,AGE,CATEGORY,MILAGE,LAST_SERVICE_DATE)
VALUES
(i,'test','test',3,'A',1000,SYSDATE);
i:=i+1;
End Loop;
dbms_output.put_line(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') );
END INSERT_APPOINTED_RECORDS;
3、查询固定行数的记录
在Oracle数据库中需要结合ROWNUM来完成,可以用如下方法来实现,如要取按ROWID排序的5000到10000之间的记录
SELECT * FROM vehicle WHERE ROWNUM<10001 minus SELECT * FROM vehicle WHERE ROWNUM<5001;
如果需要按照某字段排序来查询,如,按制造商Make来排序,就需要用到子查询,性能就会有明显的影响
SELECT * from (SELECT * FROM vehicle order by make) WHERE ROWNUM<10001 minus SELECT * from (SELECT * FROM vehicle order by make) WHERE ROWNUM<5001;
由于你对ROWNUM不能用像 Where rownum >10 and rownum <100这样的语法,所以有点别扭,但是你可以通过以下方式来用:
select * from (select rownum r,REGISTRATION_NO,MAKE,MODEL,AGE,CATEGORY,MILAGE,LAST_SERVICE_DATE from vehicle) where r >=5000 and r<=10000;
或者
select * from (select rownum r,REGISTRATION_NO,MAKE,MODEL,AGE,CATEGORY,MILAGE,LAST_SERVICE_DATE from vehicle) where r between 5000 and 10000;
这样就比较合符习惯了,不能用如下语句:
select * from (select * from vehicle order by make) where rownum between 5000 and 10000;
或者
select * from (select * from vehicle order by make) where rownum >= 5000 and rownum<=10000;
发表评论
-
Oracle truncate 和drop 的区别测试
2011-09-15 21:47 1697设置autotrace功能 1.创建plan_table ... -
Oracle使用实例证明实体化视图和视图的区别
2011-09-14 16:52 3207使用实例证明实体化视图和视图的区别 scott@TICKET ... -
Oracle中证明spfile和pfile的启动顺序
2011-09-13 23:44 2770问题: Oracle在nomount状态:只启动实例 ... -
ORACLE在windows上使用orakill结束oracle会话的线程
2011-09-13 23:08 4693在windows上使用orakill结束oracle会话的线程 ... -
Oracle【COLUMN】设置表字段默认值仅对未来生效
2011-09-13 22:10 3183【COLUMN】设置表字段默 ... -
Oracle无法使用命令 /usr/X11R6/bin/xdpyinfo 自动检查显示器颜色
2011-09-13 19:59 13010在suse10中安装orac ... -
Oracle Listener中常用命令
2011-09-12 22:37 1848Oracle Listener中常用命令1.通过lsnrctl ... -
简单描述Oracle临时表的存储特点
2011-09-12 22:28 1929简单描述临时表的存储特点。 临时表的数据存储在临时表空间 ... -
Oracle实现定时expdp备份
2011-09-12 22:14 4502在项目中实现oracle的每周五进行一次全部分,通过 ... -
用户的$home/.dmrc已被忽略,这将无法保存 默认会话和语言
2011-09-11 23:44 2559用户的$home/.dmrc已被忽略,这将无法保存 默认会话和 ... -
undo表空间学习总结
2011-09-11 12:59 2410undo 表空间只有一个是 ... -
Oracle11g中SCN与TimeStamp的相互转换
2011-09-10 18:55 3395Oracle11g中SCN与TimeStamp的相互转换 作 ... -
ORA-01578: ORACLE 数据块损坏的解决方案
2011-09-01 19:32 7627错误描述: Errors in file d:\app\ad ... -
Oracle v$parameter表知多少
2011-09-01 00:07 2816orale中一个重要的视图v$parameter,我们知道知 ... -
Oracle 初始化参数的管理
2011-08-31 22:50 1303orale中一个重要的视图v$parameter,我们知道知 ... -
Oracle查询数据库的各种文件
2011-08-31 22:40 2051查询数据库的各种文件 set lines 100 pages ... -
Oracle 性能调优学习笔记(二)- ----Oracle SQL TRACE和TKPROF使用
2011-08-30 15:14 2655Oracle SQL TRACE和TKPROF使用 ... -
Why VKTM background process in Oracle 11g(转)
2011-08-30 14:11 2677在分析Oracle的Alertlog时候,发现有一 ... -
没事看看Oracle的AlertSID.log做一下分析
2011-08-30 13:43 2340后台进程trace file: alert log 文 ... -
Oracle Job使用和管理
2011-08-30 11:32 3120Oracle job 管理 查看数据 ...
相关推荐
### Oracle中的TO_DATE和TO_...以上就是Oracle数据库中`TO_DATE`和`TO_CHAR`函数的基本使用方法及相关知识点的详细介绍。这两个函数在处理日期和时间数据时非常有用,能够帮助开发者和DBA更加灵活地操作和展示数据。
在Oracle数据库中,时间函数是处理日期和时间数据的...掌握`TO_DATE`函数的用法对于进行复杂的时间数据分析和报表生成具有重要意义。在实际应用中,还需注意时区和本地化设置的影响,以确保日期数据的准确性和一致性。
本文将详细介绍 `to_date()` 的使用方法、参数格式以及常见问题解决方法。 #### 二、基本语法与格式 `to_date()` 函数的基本语法如下: ```sql TO_DATE (expression, format_mask) ``` 其中: - `expression`: ...
Oracle 中 TO_DATE TO_CHAR 格式详解 ...TO_DATE 和 TO_CHAR 函数是 Oracle 中两个非常重要的日期时间处理函数,通过了解它们的属性和使用方法,我们可以更好地处理日期时间数据,满足不同的应用需求。
在使用 to_date 函数时,需要指定日期字符串的格式,以便 Oracle 能够正确地解析日期字符串。日期格式参数是用来指定日期字符串的格式的,它由一个或多个日期元素组成,每个日期元素都有其特定的含义。 以下是 ...
TO_DATE 函数用法详解 TO_DATE 函数是 Oracle 中的一个重要函数,它用于将字符类型的日期字符串转换为日期类型的数据。该函数的语法为:TO_DATE(date_string, format_string),其中 date_string 是要转换的日期字符...
Oracle数据库中的`to_date`函数是用于将字符串转换为日期数据类型的函数,它在处理日期和时间相关的操作时非常常用。`to_date`的主要参数是一个包含日期信息的字符串,以及一个可选的日期格式模型,用于指定输入字符...
在Oracle数据库中,Oracle to_date()函数是我们经常使用的函数,下面就为您详细介绍Oracle to_date()函数的用法,希望可以对您有所启迪。 to_date()与24小时制表示法及mm分钟的显示: 一、在使用Oracle的to_date函数...
总之,Oracle的`TO_DATE` 和 `TO_CHAR` 函数是数据库操作中必不可少的部分,理解并熟练使用它们以及其他的Oracle函数,可以极大地提高数据处理的效率和准确性。通过不断学习和实践,可以深入掌握这些函数的用法,...
oracle to_date 函数详解,详细讲解了to_date函数的最详细用法
总结的sql语法,其中包括一些函数的用法,to_date,to_char,to_number等等函数
Oracle中的`TO_DATE`函数是数据库操作中非常重要的一个日期转换工具,主要用于将字符串转换成日期类型。在Oracle SQL中,日期和时间处理是数据库管理的关键部分,`TO_DATE`函数提供了灵活的方式来处理日期和时间数据...
通过这份"oracle函数大全(分类显示).chm"文档,你可以详细了解到每个函数的具体用法、参数和返回值,从而更好地理解和应用到实际的数据库操作中。随着对Oracle的理解加深,你会发现这些函数能极大地提高你的数据库...
本文将详细介绍 TO_DATE 和 TO_CHAR 函数的使用方法、格式化规则和实践应用。 一、TO_DATE 函数 TO_DATE 函数是将字符类型的日期字符串转换为 DATE 类型的日期对象。其基本语法为: `TO_DATE( string1, [ format_...
在C#中操作Oracle的日期字段时,合理使用`TO_DATE`函数可以有效地处理日期和时间数据,使其符合Oracle数据库的要求。在传递参数时,务必注意日期格式的正确性,以及C#中的日期对象如何转换为Oracle可理解的字符串...
Oracle to_char(date) 用法总结 Oracle 的数据类型转换是指将一种数据类型转换为另一种数据类型,以满足不同的应用场景。在 Oracle 中,数据类型转换可以分为显式数据类型转换和隐式数据类型转换。隐式数据类型转换...