如何获取具有日期字段的clob数据的值并与oracle中的时间戳进行比较

时间:2018-01-03 06:51:04

标签: oracle plsql

我有一个名为masterregistry的表,它包含其中的所有信息和业务逻辑,并且colum的数据类型是clob

desc master_registy:

id number not null,
name varchar2(100),
value clob

select value from master_registry where name='REG_DATE';

O / P

17年11月10日

这个日期在所有业务逻辑中都很常见,我需要查询我的表,

desc get_employee
====================
id number not null,
first_name varchar2(100),
last_name varchar2(100),
last_mod_dt timestamp

现在我需要获取get_employee中的所有值,其last_mod_dt应该大于master_registry的值,其中name ='REG_DATE'。后一个表中的值是clob数据,如何获取和比较日期从另一个表中获取时间戳的clob数据。请帮忙。

1 个答案:

答案 0 :(得分:0)

也许你需要这样的东西。

SELECT *
  FROM get_employee e
 WHERE last_mod_dt > (SELECT TO_TIMESTAMP (TO_CHAR (VALUE), 'DD-MM-YY')
                        FROM master_registy m
                       WHERE m.id = e.id);

DEMO

请注意,我已直接在TO_CHAR中使用了列值。您可能必须使用TRIMSUBSTR或仅需要获取日期组件。