【发布时间】:2016-09-16 00:42:00
【问题描述】:
所以我有这张桌子
RPG_RETCON (
UNIQUE_ID VARCHAR2(100 BYTE),
CONTAINER VARCHAR2(100 BYTE),
DATA_POINT_NAME VARCHAR2(100 BYTE),
SOURCE_VALUE VARCHAR2(100 BYTE),
CSS_VALUE VARCHAR2(100 BYTE),
STATUS VARCHAR2(100 BYTE)
)
我正在尝试将此 select 语句插入到该表中。
INSERT INTO RPG_RETCON
(SELECT A.POOL_CUSIP_ID AS UNIQUE_ID,
'1_13_1C' AS CONTAINER,
'SECU_ACTL_STLM_DT' AS COLUMN_NAME1,
TO_CHAR(A.SECU_ACTL_STLM_DT),
TO_CHAR(B.SECU_ACTL_STLM_DT),
CASE
WHEN A.SECU_ACTL_STLM_DT = B.SECU_ACTL_STLM_DT
THEN
'PASS'
ELSE
'FAIL'
END
AS STATUS
FROM POOL_1_13_1C_TRGT A
LEFT JOIN POOL_1_13_1C_CSS B ON A.POOL_CUSIP_ID = B.POOL_CUSIP_ID);
现在的问题是 SECU_ACTL_STLM_DT 是一个日期字段,当我尝试进行插入时,我收到一个无效数字错误。如果我把 TO_CHAR 拿走只是 A.SECU_ACTL_STLM_DT, B.SECU_ACTL_STLM_DT, 我得到无效的月份。
注意:我绝对不能改变
SOURCE_VALUE VARCHAR2(100 BYTE)
CSS_VALUE VARCHAR2(100 BYTE)
-- 在表结构内... 它们需要是 VARCHAR2 数据类型。
有什么建议可以在哪里插入这个选择语句而不会出错?
【问题讨论】: