转载:http://lilixu.iteye.com/blog/2087047
项目中需要使用时间过滤信息,而且时间是带有时分秒的,刚开始使用YYYY-MM-DD HH:MM:SS这种格式进行比较,所查询出来的数据不正确,查询语句:
- SELECT s.sbsj
- FROM T_JBXX s
- where
- TO_CHAR(s.SBSJ, 'YYYY-MM-DD HH:mm:ss') >= '2014-06-25 09:55:56.0'
- AND TO_CHAR(s.SBSJ, 'YYYY-MM-DD HH:mm:ss') <= '2014-06-26 11:56:59.0'
- ORDER BY SFSJ DESC
本来正确的查询结果应该为:
可是结果却是:
出现的结果不正确,后来在网上查看说应该使用YYYY-MM-DD HH24:MI:SS这种格式来过滤时间,所以正确的sql语句应该是这样的:
- SELECT s.sbsj
- FROM T_JBXX s
- where
- TO_CHAR(s.SBSJ, 'YYYY-MM-DD HH24:MI:SS') >= '2014-06-25 09:55:56.0'
- AND TO_CHAR(s.SBSJ, 'YYYY-MM-DD HH24:MI:SS') <= '2014-06-26 11:56:59.0'
- ORDER BY SFSJ DESC
这样查询的结果就是正确的。网上看到一种 解释说是因为SQL中不区分大小写,MM和mm被认为是相同的格式代码,因此Oracle的SQL采用了mi代替分钟。
相关推荐
oracle日期格式和java日期格式...oracle中to_char(sysdate,'yyyy-mm-dd hh24:mm:ss')和to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')有着巨大差别: select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;【用这个】
如: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:...
to_number(to_date(to_char(d.surmon,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') - to_date('1970-01-01 8:0:0', 'yyyy-mm-dd hh24:mi:ss'))*24*60*60*1000 from ( SELECT case to_number(to_char...
restore database until time "to_date('2019-08-19 08:49:00','yyyy-mm-dd hh24:mi:ss')"; recover database until time "to_date('2019-08-19 08:49:00','yyyy-mm-dd hh24:mi:ss')"; alter database open ...
1.查询时间段内执行的sql、Produce select * from v$sqlarea a where 1=1 and a.LAST_ACTIVE_... to_date( '2013-02-21 18:24:00','yyyy-MM-dd HH24:mi:ss') --and a.LAST_ACTIVE_TIME < to_date('2012-02-21
select * from 表名 as of timestamp to_timestamp('2020-04-27 17:25:00','yyyy-mm-dd hh24:mi:ss') ``` 开启行移动功能 ```java alter table 表名 enable row movement ``` 恢复表数据 ```java flashback table ...
TO_DATE('1970-01-01 08:00:00', 'YYYY-MM-DD HH:MI:SS'), 'YYYY-MM-DD HH24:MI:SS') AS CDATE FROM DUAL; 日期转换毫秒 SELECT TO_NUMBER(TO_DATE('2014-07-28 17:12:45', 'YYYY-MM-DD HH24:MI:SS') - TO_DATE('...
select to_char(sysdate,’yyyy-mm-dd hh24:mi:ss’) from dual; –显示当前时间 2011-12-29 16:24:34 代码如下: select trunc(sysdate,’year’) from dual; –截取到年(本年的第一天) 2011-1-1 代码如下:...
to_date(to_char(sysdate,’yyyy-mm-dd’) || ‘ 00:00:01′,’yyyy-mm-dd hh24:mi:ss’) and to_date(to_char(sysdate,’yyyy-mm-dd’) || ‘ 23:59:59′,’yyyy-mm-dd hh24:mi:ss’); Oracle 字段类型为varchar2...
1.intersect为取多个查询结果的交集; 2.查询两个基本时间段内表记录的SQL语句;...= update shengjilogin t set t.starttime=to_date(‘2009-01-02 01:02:01′,’yyyy-mm-dd hh24:mi:ss’) where t.username=’
1》以12小时制显示 ...SQL> select to_char(sysdate,’YYYY-MM-DD HH24:MI:SS AM’)from dual; TO_CHAR(SYSDATE,’YYYY-MM-DDHH2 —————————— 2007-06-29 15:00:58 下午 3》得到当前时间的前
EXECUTE dbms_logmnr.start_logmnr(DictFileName=>'D:\temp\orcldict.ora', StartTime=>to_date('2008-06-03 18:00:00','YYYY-MM-DD HH24:MI:SS'), EndTime=>to_date('2008-06-03 19:59:59','YYYY-MM-DD HH24:MI:SS'...
–加1月 select sysdate,to_char(sysdate+7,’yyyy-mm-dd HH24:MI:SS’) from dual; –加1星期 select sysdate,to_char(sysdate+1,’yyyy-mm-dd HH24:MI:SS’) from dual; –加1天 select sysdate,to_char(sysdate+...
date = date类型字符格式 (默认YYYY-MM-DD HH24:MI:SS) timestamp = timestamp类型字符格式 (默认YYYY-MM-DD HH24:MI:SSXFF) timestamp_tz = timestamp_tz类型字符格式 (默认YYYY-MM-DD HH24:MI:SSXFF TZH:TZM) ...
* 12 CHAR YYYY-MM-DD HH24:MI:SS 2011-03-15 22:40:30 * 13 CHAR YYYY-MM-DD HH24:MI:SSXFF 2011-03-15 22:40:30.765000 * 14 CHAR YYYY"年" 2011年 * 15 CHAR YYYY"年"MM"月" 2011年03月 * 16 CHAR YYYY"年...
前言 数据查询,不管在网站还是在系统中都很常见,...select to_char(bizdate,'yyyy-MM-dd HH24:mi:ss') ,id from table_person where bizdate >=to_date('2014-10-01 00:00:00','yyyy-MM-dd HH24:mi:ss') and bizdat
代码如下:select to_char(sysdate,’yyyy-mm-dd hh24:mi:ss’) as nowTime from dual; //日期转化为字符串 select to_char(sysdate,’yyyy’) as nowYear from dual; //获取时间的年 select to_char(sysdate,...
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual; //日期转化为字符串 select to_char(sysdate,'yyyy') as nowYear from dual; //获取时间的年 select to_char(sysdate,'mm') as nowMonth ...
date ('28-08-2007 11:39:33','DD-MM-YYYY HH24:MI:SS') and nvl(disable_date, to_date('28-08-2007 11:39:33','DD-MM-YYYY HH24:MI:SS') + 1) >= to_date('28-08-2007 11:39:33','DD-MM-YYYY HH24:MI:SS'))) or (1...