[英]Oracle: filter query on datetime
我需要使用
SELECT ... FROM ...
WHERE my_date=(RESULT FROM A SELECT)
... ;
为了实现我由于选择时间戳而使用的时间戳(如果我改用datetime,那么我从select中得不到任何信息,可能是因为我使用的格式在第二秒修剪了datetime)。
不幸的是,这不起作用,因为这些查询类型:
select DISTINCT TO_DATE(TO_TIMESTAMP(TO_DATE('25-10-2017 00:00', 'dd-MM-yyyy HH24:MI'))) from DUAL;
返回一个
ORA-01830:日期格式图片在转换整个输入字符串之前结束
如何处理时间戳到日期的转换?
如果您只想比较并检查他的日期,则在LHS和RHS上都使用trunc。
SELECT ... FROM ...
WHERE trunc(my_date)=(select trunc(RESULT) FROM A)
... ;
这将通过截断时间戳记值来比较日期
您可以在查询中使用“ TRUNC”和“ IN”关键字的组合来实现期望的结果。 请检查以下查询示例作为参考。
SELECT * FROM customer WHERE TRUNC(last_update_dt) IN (select DISTINCT (TRUNC(last_update_dt)) from ... )
干杯!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.