如何查询日期格式YYYY-MM-dd HH-MM-ss?

时间:2014-01-10 03:18:19

标签: sql oracle

如何使用以下格式查询日期:

02/13/2013 12:05:48

select * 
from TOTAL_SUBS 
where TIME BETWEEN TO_DATE('2013-13-02 00:00:00', 'SYYYY-MM-DD HH24:MI:SS') 
AND TO_DATE('2013-12-14 00:00:00', 'SYYYY-MM-DD HH24:MI:SS');

我已尝试使用该代码,但我对此日期的预期仅在2013年2月13日发布,结果中没有时间“12:05:48”。

2 个答案:

答案 0 :(得分:2)

编辑:建议将to_char()作为需求格式,因为在运行查询的任何地方,NLS_DATE_FORMAT可能都不一样!

如果您想要更改NLS,请执行此操作。

alter session set nls_date_format='MM/DD/YYYY HH24:MI:SS';

最后,在select中进行TO_CHAR()转换。实际上,当您想要以您期望的格式打印(请参阅)DATE数据类型时,请使用此方法。

select * , TO_CHAR(TIME,'MM/DD/YYYY HH24:MI:SS') my_datetime
from TOTAL_SUBS 
where TIME BETWEEN TO_DATE('2013-02-13 00:00:00', 'SYYYY-MM-DD HH24:MI:SS') 
AND TO_DATE('2013-12-14 23:59:59', 'SYYYY-MM-DD HH24:MI:SS');

编辑月份和时间戳以包括到mdnight。希望这有帮助!

答案 1 :(得分:0)

您使用什么应用程序?

如果是Oracle SQL Developer,您只需要转到“工具”菜单 - >数据库 - > NLS。

根据需要添加日期格式。

SELECT * 
FROM   total_subs 
WHERE  time BETWEEN To_date('2013-02-13 00:00:00', 'YYYY-MM-DD HH24:MI:SS') AND 
                    To_date('2013-12-14 00:00:00', 'YYYY-MM-DD HH24:MI:SS'); 

再次尝试查询。

如果没有这个,无论查询结构如何,它都不会显示时间