SQL 로더에서 IF CLAUSE를 사용할 수 있습니까? 코드를 작성했지만 오류가 발생했습니다.SQL 로더의 절
INTO TABLE TF_RTB9_DTL
WHEN ((01) = 'D') OR (if
(POA_COU_VAL = 0)
then MAST_POA_ID = null
end if)
FIELDS TERMINATED BY "~" OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
(
TRANS_TYP POSITION(3),
BO_ID ,
NAME ,
MID_NAM ,
LAS_NAM ,
PAN ,
NAM_FIR_JOINT ,
MIDD_NAM_FIR_JOINT,
LAS_NAM_FIR_JOINT ,
PAN_FIR_JOINT ,
NAM_SEC_JOINT ,
MIDD_NAM_SEC_JOINT,
LAS_NAM_SEC_JOINT ,
PAN_SEC_JOINT ,
ADD_LIN_1 ,
ADD_LIN_2 ,
ADD_LIN_3,
CITY ,
STATE ,
COUNTRY ,
PIN_COD ,
PERM_ADD_LIN_1 ,
PERM_ADD_LIN_2 ,
PERM_ADD_LIN_3 ,
PERM_CITY ,
PERM_STATE ,
PERM_COUNTRY ,
PERM_PIN_COD ,
POA_COU_VAL ,
MAST_POA_ID ,
TRANS_ID
)
POA_COU_VAL 인 경우 POA_COU_VAL 0보다가 null이어야하며 다음 값이 TRANS_ID에 입력해야합니다. 이것을 어떻게 할 수 있습니까?
안녕하세요. 사례 또는 디코딩 문을 사용할 수 있습니다. 예를 들면 다음과 같습니다. - decode (POA_COU_VAL, 0, MAST_POA_ID) –
CASE는 DECODE보다 유연한 기능이지만 원하는 경우 DECODE를 사용하십시오. – APC