我需要使用
限制查询SELECT ... FROM ...
WHERE my_date=(RESULT FROM A SELECT)
... ;
为了实现我使用选择时间戳的结果(如果我改为使用日期时间,我从我的选择中得不到任何东西,因为我使用的格式修剪了第二个日期时间)。
可悲的是,这不起作用,因为这些查询:
select DISTINCT TO_DATE(TO_TIMESTAMP(TO_DATE('25-10-2017 00:00', 'dd-MM-yyyy HH24:MI'))) from DUAL;
返回
ORA-01830:日期格式图片在转换整个输入字符串之前结束
如何处理时间戳到日期转换?
答案 0 :(得分:1)
如果你只想比较和检查他的日期,请在LHS和RHS上使用trunc。
SELECT ... FROM ...
WHERE trunc(my_date)=(select trunc(RESULT) FROM A)
... ;
这只是通过截断时间戳值
来比较日期答案 1 :(得分:1)
您可以在查询中使用“TRUNC”和“IN”关键字的组合来实现您的期望。请查看以下查询示例作为参考。
SELECT * FROM customer WHERE TRUNC(last_update_dt) IN (select DISTINCT (TRUNC(last_update_dt)) from ... )
干杯!!