【发布时间】:2014-04-18 02:19:45
【问题描述】:
我有两列,一列是 NUMBER_COLUMN(带有数字数据类型),另一列是不同表中的 TIMESTAMP_COLUMN(带有时间戳数据类型)。 我需要将 number_column 值转换为 TIMESTAMP 数据格式,以便验证它们的值。我得到了转换的有效代码——见下文。
CAST(LAST_DAY(to_timestamp(lpad(cast(NUMBER_COLUMN as varchar2(6)), 6, '0'), 'MMYYYY')) AS TIMESTAMP)
我在 select 语句中使用上述查询将 NUMBER_column 数据值转换为与我的 timestamp_column 数据格式对应的格式。 然后我有一个 NOT EXISTS 块,它基本上是另一个以结尾的 select 语句 其中 NUMBER_COLUMN=TIMESTAMP_COLUMN。但是这最后一个条件给了我一个错误“TIMESTAMP GOT NUMBER”。脚本见下文。
SELECT CAST(LAST_DAY(to_timestamp(lpad(cast(NUMBER_COLUMN as varchar2(6)), 6, '0'), 'MMYYYY')) AS TIMESTAMP) AS NUMBER_COLUMN FROM TAB1 T1
WHERE NOT EXISTS(SELECT P.TIMESTAMP_COLUMN FROM
(SELECT TIMESTAMP_COLUMN FROM TAB2)
WHERE P.TIMESTAMP=T1.NUMBER_COLUMN);
【问题讨论】: