Oracle SQL查询为Date格式

前端之家收集整理的这篇文章主要介绍了Oracle SQL查询为Date格式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我总是在ORACLE SQL查询中与日期格式混淆,并将时间聚在一起到google,有人可以在数据库表中使用不同的日期格式来解释我最简单的方法吗?

例如我有一个ES_DATE的日期列,将数据保存为具有本地时区的数据类型TIMESTAMP(6)的27-APR-12 11.52.48.294030000 AM.

我写了简单的选择查询获取那个特定的日子的数据,并且没有返回任何东西.有人可以解释我吗

select * from table
where es_date=TO_DATE('27-APR-12','dd-MON-yy')

要么

select * from table where es_date = '27-APR-12';
to_date()在00:00:00返回一个日期,所以你需要从你比较的日期“删除”分钟:
select * 
from table
where trunc(es_date) = TO_DATE('27-APR-12','dd-MON-yy')

你可能想在trunc(es_date)上创建一个索引,如果这是你正在做的事情.

如果默认日期格式更改为任何不同,文字’27 -APR-12’可能会非常容易地失败.所以确保你总是使用适当的格式掩码(或ANSI文字:date’2012-04-27′)的to_date()

虽然您使用to_date()并没有依赖于隐含的数据类型转换,但由于格式为’dd-MON-yy’,您对to_date()的使用仍然会有一个微妙的陷阱.

使用不同的语言设置,这可能容易失败,例如当NLS_LANG设置为德国时,TO_DATE(’27-MAY-12′,’dd-MON-yy’).避免使用不同语言可能不同的格式的任何内容.使用四位数年份,仅使用数字. ‘dd-mm-yyyy’或’yyyy-mm-dd’

原文链接:/oracle/205522.html

猜你在找的Oracle相关文章