본문 바로가기
IT/SQL

[AWS Redshift SQL] 숫자 세 자리 마다 콤마(,) 찍기 / 소수점 자릿수 맞추기 (ft. TO_CHAR)

by marketinkerbell 2022. 3. 7.
반응형

 

 

 

< AWS Redshift  PL/pgSQL 에서의 TO_CHAR 함수 >

 

 

 

AWS Redshift 에서 

123,444,000   처럼 숫자 세자리 수 마다 콤마 찍어주는 방법

 

 

MySQL 에서는 FORMAT 함수로 되지만 

Redshift 에서는 FORMAT 함수 지원 안해줌.. 

 

 

TO_CHAR  함수 사용하면 할 수 있다.

 

 

 

 

 

< TO_CHAR  사용 방법 >

 

 

SELECT  TO_CHAR ( 컬럼명 , '999,999,999,999' ) 
FROM  테이블명

999,999 는 출력 될 예상 수치 보다 큰 숫자로 입력해야 잘 적용 됨으로 일단 큰 숫자로 설정하는게 좋다

 

 

ex) 

SELECT  TO_CHAR ( 주문금액, '999,999,999,999,999' )

FROM  shop_order 

 

 

 

소수점 자리도 몇자리까지만 출력되게 할 건지 맞춰줄 수 있다. 

 

SELECT  TO_CHAR ( 컬럼명 , '999,999,999,999.99' ) 
FROM  테이블명

 

.99  기입하면 소수점 2자리까지만 출력되고

.999  기입하면 소수점 3자리까지 출력

 

 

 

 

 

응용 예시) 

SELECT 
SUBSTRING(od_receipt_time,1,10) AS od_date, 
COUNT(SUBSTRING(od_receipt_time,1,10)) AS 주문수,

TO_CHAR ( SUM(od_receipt_price),'999,999,999') AS "주문금액($)",
TO_CHAR( SUM(od_receipt_price)*1200,'999,999,999') AS "주문금액(원)"

FROM shop_order

WHERE SUBSTRING(od_receipt_time,1,10) BETWEEN '2022-01-01' AND '2022-01-10' 
AND od_status IN ('완료','입금','배송','준비')
GROUP BY SUBSTRING(od_receipt_time,1,10)
ORDER BY od_date DESC

 

 

 

 

 

 

 

 

 

 

 

TO_CHAR 을 사용하지 않으면 아래와 같이 출력됨

 

 

 

 

 

 

 

 

 

 

 

소수점 자릿수 맞추기 

소수점 뒤 두자리로 맞춰줌

 

 

 

 

 

 

 

 

 

 

 

댓글