PLSQL에 대해 IF/ELSE 문을 수행하려고하는데 오류가 있으므로 올바른 방법을 사용하고 있는지 확실하지 않습니다. 오른쪽 괄호가 없습니다. IF (TO_NUMBER (SUBSTR (ATTR_VALUE, 6, 2))! = TO_NUMBER (SUBSTR (ATTR_VALUE, 1, 2))) 그러나 괄호는 나에게 균형을 이루고있는 것처럼 보입니다.SQL의 IF/ELSE 조건
SELECT *
FROM
(
IF (TO_NUMBER(SUBSTR(ATTR_VALUE, 6, 2)) != TO_NUMBER(SUBSTR(ATTR_VALUE, 1, 2))) THEN
SELECT ID, DATE, ATTR_VALUE, (TO_NUMBER(SUBSTR(ATTR_VALUE, 6, 4))-TO_NUMBER(SUBSTR(ATTR_VALUE, 1, 4))-48) DIFF
ELSE
SELECT ID, DATE, ATTR_VALUE, (TO_NUMBER(SUBSTR(ATTR_VALUE, 6, 4))-TO_NUMBER(SUBSTR(ATTR_VALUE, 1, 4))) DIFF
END IF
FROM Table A
ORDER BY TIME
)
WHERE DIFF>26
이 문제에 대해 친절히 도와주세요.
귀하의 예는 일반 SQL이를 , 거기에 PL/SQL (저장 프로 시저)가 관련된 –
if 진술은 pl/sql에서만 당신이 제안하거나 대문자를 해독 할 필요가있다. – glh