`

oracle 中YYYY-MM-DD HH24:MI:SS的使用

 
阅读更多

转载:http://lilixu.iteye.com/blog/2087047

 

项目中需要使用时间过滤信息,而且时间是带有时分秒的,刚开始使用YYYY-MM-DD HH:MM:SS这种格式进行比较,所查询出来的数据不正确,查询语句:

Sql代码  收藏代码
  1. SELECT s.sbsj  
  2.   FROM T_JBXX s  
  3.  where   
  4.  TO_CHAR(s.SBSJ, 'YYYY-MM-DD HH:mm:ss') >= '2014-06-25 09:55:56.0'  
  5.    AND TO_CHAR(s.SBSJ, 'YYYY-MM-DD HH:mm:ss') <= '2014-06-26 11:56:59.0'  
  6.  ORDER BY SFSJ DESC  

 本来正确的查询结果应该为:



 可是结果却是:

 出现的结果不正确,后来在网上查看说应该使用YYYY-MM-DD HH24:MI:SS这种格式来过滤时间,所以正确的sql语句应该是这样的:

Sql代码  收藏代码
  1. SELECT s.sbsj  
  2.   FROM T_JBXX s  
  3.  where   
  4. TO_CHAR(s.SBSJ, 'YYYY-MM-DD HH24:MI:SS') >= '2014-06-25 09:55:56.0'  
  5.    AND TO_CHAR(s.SBSJ, 'YYYY-MM-DD HH24:MI:SS') <= '2014-06-26 11:56:59.0'  
  6.  ORDER BY SFSJ DESC  

 这样查询的结果就是正确的。网上看到一种 解释说是因为SQL中不区分大小写,MM和mm被认为是相同的格式代码,因此Oracle的SQL采用了mi代替分钟。

分享到:
评论

相关推荐

    oracle日期格式和java日期格式区别 HH24:mm:ss和HH24:mi:ss的区别

    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;【用这个】

    oracle学习笔记

    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...

    睿备份-oracle备份工具.zip

    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 ...

    Oracle–查询时间段内执行的sql、Produce

    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 &lt; to_date('2012-02-21

    oracle 时间函数

    SELECT TO_DATE('2007-09-07 00:00:00', 'yyyy-mm-dd hh24:mi:ss') FROM dual; 这将将日期字符串 '2007-09-07 00:00:00' 转换为 Oracle 中的日期类型。 2. TO_CHAR 函数 TO_CHAR 函数用于将 Oracle 中的日期类型...

    oracle误删除表数据.txt

    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 ...

    Oracle 日期时间格式化不准的问题, hh24:mi:ss 才是正确的写法

    因此,当你使用`'yyyyMMdd hh24:mm:ss'`作为格式模型时,Oracle会错误地解析`mm`为月份,而不是分钟,导致输出的时间不准确。例如,如果当前时间是下午1点30分,使用错误的格式化会显示为1月30日的某个时间,而不是...

    oracle日期处理全集-日期加减全活儿.doc.docx

    示例:SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') AS This, ROUND(SYSDATE) AS Round_Day, TO_CHAR(SYSDATE+1/6, 'YYYY-MM-DD HH24:MI:SS') AS Next_4Hour, ROUND(SYSDATE+1/6) AS Round_Day FROM dual;...

    Oracle中TO-DATE格式.docx

    在 TO_DATE 函数中,format 可以是各种不同的格式,例如 'YYYY-MM-DD HH24:MI:SS'、'DD-MON-RR'、'YYYYMMDD' 等。这些格式字符串可以由多个组件组成,每个组件都可以指定日期的不同部分,例如年、月、日、时、分、秒...

    oracle日期处理全集-日期加减全活儿.doc.pdf

    TO_CHAR(NEW_TIME(SYSDATE, 'EST7GMT'), 'YYYY-MM-DD HH24:MI:SS') AS GMT FROM dual; ``` 结果: ``` CHINA GMT ------------------- ------------------- 2020-09-08 10:30:00 2020-09-08 14:30:00 ``` 4. NEXT_...

    Oracle日期函数大全[文].pdf

    SELECT TO_DATE('2007-11-02 13:45:25', 'yyyy-mm-dd hh24:mi:ss') FROM DUAL; ``` TO_CHAR函数 TO_CHAR函数是将日期类型转换为字符串的函数。该函数的基本语法为:`TO_CHAR(date, format)`,其中date是要转换的日期...

    oracle中varchar与date的转换,number与varchar的转换.pdf

    select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual; ``` 这将当前系统日期和时间转换为字符串形式。 2. varchar 转 date 使用 to_date 函数可以将 varchar 类型转换为 date 类型。例如: ```sql ...

    ORACLE中日期和时间函数汇总

    * `TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS')` 将当前日期和时间转换为字符串 'YYYY-MM-DD HH24:MI:SS' 格式。 * `TO_CHAR(TO_DATE('2002-08-26', 'YYYY-MM-DD'), 'DAY')` 将日期 '2002-08-26' 转换为星期几。 ...

    Oracle中TO_DATE TO_CHAR格式

    SELECT TO_DATE('2007-11-02 13:45:25', 'yyyy-mm-dd hh24:mi:ss') FROM dual; ``` 二、TO_CHAR 函数 TO_CHAR 函数用于将 DATE 类型的日期时间数据转换为字符串类型。其基本语法为: ```sql TO_CHAR(date, format) ...

    Oracle中To-date用法.pdf

    * 将字符串 '2007-11-02 13:45:25' 转换为日期类型:`TO_DATE('2007-11-02 13:45:25', 'yyyy-mm-dd hh24:mi:ss')` * 将字符串 '2004-05-07 13:23:44' 转换为日期类型:`TO_DATE('2004-05-07 13:23:44', 'yyyy-mm-dd ...

    oracle 常用代码.

    SELECT TO_DATE('2005-01-01 13:14:20', 'yyyy-MM-dd HH24:mm:ss') FROM dual; ``` 这是因为`mm`被解释为分钟,而`MM`也被解释为分钟,从而导致格式代码重复。解决办法是使用`mi`来表示分钟: ```sql SELECT TO_...

    ORACLE 毫秒与日期的相互转换示例

    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('...

    oracle --timestamp

    SELECT (TO_DATE(TO_CHAR(T2, 'YYYY-MM-DD HH24:MI:SS'), 'YYYY-MM-DD HH24:MI:SS') - TO_DATE(TO_CHAR(T1, 'YYYY-MM-DD HH24:MI:SS'), 'YYYY-MM-DD HH24:MI:SS')) FROM test; ``` 以上就是从给定文件的信息中提炼...

    oracle设置日期格式

    例如,`'yyyy-MM-dd hh24:mi:ss'` 表示年份-月份-日期 小时:分钟:秒。 #### 二、会话级设置日期格式 在Oracle中,可以通过以下几种方法在会话级别设置日期格式: ##### 1. 使用 `ALTER SESSION` 命令 这是最常见...

Global site tag (gtag.js) - Google Analytics