2
십진수 정밀도를 업데이트하기 전에 값이 NULL인지 확인하는 Oracle 디코드가 있습니다. 문제는 price_precision 열의 값이 null이 아니며 디코드가 d.price 값으로 계속 이동하지만 기본값으로 이동해야하는 경우입니다. 내가 선택 문에 대한 대가로 볼 수 있기 때문에, 가격 _Precision 열에서 비 NULL 데이터가 아는 사실Oracle DECODE가 작동하지 않습니다.
DECODE(d.PRICE_PRECISION, NULL, d.price,TO_CHAR(DECODE(d.price,NULL, '', d.price), CONCAT('9999990',RPAD('D', d.PRICE_PRECISION+1,'9')))) price
: 여기에 디코드하는 코드의 라인입니다. 내 디코드에 문제가 있습니까? 디코딩이 기본 명령문으로 넘어 가지 않는 이유는 무엇입니까?
d.price는 어떤 데이터 유형입니까? 'DEC '(d.PRICE_PRECISION, NULL, d.price, TO_CHAR (d.PRICE_PRECISION, NULL, d.price, DEC.PRICE_PRECISION, NULL, d.price)를 선택하십시오. 이중 선택 UNIT ALL 에서 SELECT 10 AS PRICE_PRECISION,'2 'PRICE에서 SELECT NULL은 PRICE_PRECISION을 선택하십시오. DECODE (d.price, NULL, '', d.price), CONCAT ('9999990', RPAD ('D', d.PRICE_PRECISION + 1, '9')))) 가격 d에서'작동하는 것 같습니다. if d.price는 varchar2 데이터입니다. – xQbert