SELECT TO_NUMBER(:TARGET_CNT1) F1
, TO_NUMBER(:TARGET_CNT2) F2
, TO_NUMBER(:TARGET_CNT3) F3
, TO_NUMBER(:TARGET_CNT4) F4
, TO_NUMBER(:TARGET_CNT5) F5
, TO_NUMBER(:TARGET_CNT6) F6 FROM DUAL
위 쿼리를 실행하면 6개의 입력값을 입력 받아 입력받은 값을 출력하게 됩니다.
예를 들면 입력된 값이 1,2,3,4,5,6 이렇게 나오게 되는데 이걸 세로로 출력하려면 어찌해야 할까요?
간단한 방법이 뭐가 없을까요?
입력받은 값을 컬럼 하나 세로로 출력 하고 싶다는 의미입니다.
고수님들의 한수 가르침을 부탁합니다. 워낙 초보라서...
SELECT * FROM ( SELECT 1 F1 , 2 F2 , 3 F3 , 4 F4 , 5 F5 , 6 F6 FROM DUAL ) UNPIVOT ( COL2 FOR COL1 IN (F1, F2, F3, F4, F5, F6) ) ;
변수를 받아서 처리 하는 것 이라면 그냥 간단하게 아래처럼도 가능하겠군요.
SELECT TO_NUMBER(:TARGET_CNT1) F1 FROM DUAL UNION ALL SELECT TO_NUMBER(:TARGET_CNT2) F2 FROM DUAL UNION ALL SELECT TO_NUMBER(:TARGET_CNT3) F3 FROM DUAL UNION ALL SELECT TO_NUMBER(:TARGET_CNT4) F4 FROM DUAL UNION ALL SELECT TO_NUMBER(:TARGET_CNT5) F5 FROM DUAL UNION ALL SELECT TO_NUMBER(:TARGET_CNT6) F6 FROM DUAL ;