Support
Orange Support > 문의하기
Q & A
SQL FORMATTER 개선 요청
Date2026.01.06 /
Hit : 86
오렌지 SQL FORMATTER 사용 시,
CASE 문에서 유독 정렬이 안 되고 있습니다.
사실 몇 개 더 있는데 지금은 기억이 나질 않네요.
AI를 사용한 SQL 포맷 결과 비교해봤습니다.
절실히 개선 요청드립니다.
---- 오렌지 포맷터 사용시-----
SELECT A.BR_CD
, DECODE('X', 'M', B.MAIN_STY_CD, A.STY_CD) AS STY_CD
, A.COL_CD
, SUM(CASE
WHEN 'D' = 'D'
AND 'N' = 'N' THEN CASE
WHEN C.SHOP_CD IN (SELECT SHOP_CD
FROM SHSHOP
WHERE COMP_CD = 'NG001'
AND BIZ_DIV = '102'
AND SHOP_GB NOT IN ('W'
, '7') ) THEN A.SALE_QTY
ELSE 0
END
ELSE A.SALE_QTY
END) AS TSALE_QTY
, SUM(CASE
WHEN B.BR_CD = 'D'
AND C.SHOP_CD IN (SELECT SHOP_CD
FROM SHSHOP
WHERE COMP_CD = 'NG001'
AND BIZ_DIV = '102'
AND SHOP_GB IN ('W'
, '7') ) THEN A.SALE_QTY
ELSE 0
END) AS TSALE_B2BQTY
FROM SLPD A
, PLSTYCD B
, SHSHOP C
, (SELECT ROWNUM AS RANK
, TO_CHAR(SYSDATE - LEVEL + 1, 'YYYYMMDD') AS ENDDT
, TO_CHAR(SYSDATE - LEVEL + 1 - 6, 'YYYYMMDD') AS STARTDT
FROM DUAL
WHERE TO_NUMBER(TO_CHAR(SYSDATE, 'd') - MOD((LEVEL - 1), 7)) = 1 CONNECT BY LEVEL <= 21) D
WHERE A.COMP_CD = B.COMP_CD
AND A.STY_CD = B.STY_CD
AND A.COMP_CD = C.COMP_CD
AND A.SHOP_CD = C.SHOP_CD
AND A.SALE_DT <= D.ENDDT
AND A.COMP_CD = 'NG001'
AND A.BR_CD = 'D'
AND D.RANK = 1
AND A.STY_CD = 'D254UDW010'
AND A.YEAR_CD IN ('25')
GROUP BY A.BR_CD , DECODE('X', 'M', B.MAIN_STY_CD, A.STY_CD) , A.COL_CD
-------- AI 포맷터 사용시 ---------
SELECT A.BR_CD
, DECODE('X', 'M', B.MAIN_STY_CD, A.STY_CD) AS STY_CD
, A.COL_CD
, SUM(CASE
WHEN 'D' = 'D'
AND 'N' = 'N'
THEN CASE
WHEN C.SHOP_CD IN (
SELECT SHOP_CD
FROM SHSHOP
WHERE COMP_CD = 'NG001'
AND BIZ_DIV = '102'
AND SHOP_GB NOT IN ('W', '7')
)
THEN A.SALE_QTY
ELSE 0
END
ELSE A.SALE_QTY
END) AS TSALE_QTY
, SUM(CASE
WHEN B.BR_CD = 'D'
AND C.SHOP_CD IN (
SELECT SHOP_CD
FROM SHSHOP
WHERE COMP_CD = 'NG001'
AND BIZ_DIV = '102'
AND SHOP_GB IN ('W', '7')
)
THEN A.SALE_QTY
ELSE 0
END) AS TSALE_B2BQTY
FROM SLPD A
, PLSTYCD B
, SHSHOP C
, (SELECT ROWNUM AS RANK
, TO_CHAR(SYSDATE - LEVEL + 1, 'YYYYMMDD') AS ENDDT
, TO_CHAR(SYSDATE - LEVEL + 1 - 6, 'YYYYMMDD') AS STARTDT
FROM DUAL
WHERE TO_NUMBER(TO_CHAR(SYSDATE, 'd') - MOD((LEVEL - 1), 7)) = 1
CONNECT BY LEVEL <= 21) D
WHERE A.COMP_CD = B.COMP_CD
AND A.STY_CD = B.STY_CD
AND A.COMP_CD = C.COMP_CD
AND A.SHOP_CD = C.SHOP_CD
AND A.SALE_DT <= D.ENDDT
AND A.COMP_CD = 'NG001'
AND A.BR_CD = 'D'
AND D.RANK = 1
AND A.STY_CD = 'D254UDW010'
AND A.YEAR_CD IN ('25')
GROUP BY A.BR_CD
, DECODE('X', 'M', B.MAIN_STY_CD, A.STY_CD)
, A.COL_CD
SQL FORMATTER 개선 요청
데우스코리아
2026.01.06
RE: SQL FORMATTER 개선 요청
오렌지팀
2026.01.07
Re: RE: SQL FORMATTER 개선 요청
데우스코리아
2026.02.02