oracle 2

[SQL] TO_CHAR(FM) 표기법(숫자 포맷)

FM(Fill Mode)은 SQL TO_CHAR 함수의 옵션 중 하나로 FM을 이용해 숫자를 원하는대로 포맷하거나 공백을 제거할 수 있다. 보통 9와 0을 이용해서 포맷을 하는 것이 일반적인데 9와 0은 각각 다음의 기능을 한다.  9 : 해당 자리에 숫자가 없으면 표기 X0 : 해당 자리에 숫자가 없으면 0으로 표기  이해를 돕기 위해 아래 쿼리를 실행해보면 SELECT TO_CHAR(123, '99999'), TO_CHAR(123, '00000')FROM DUAL; 결과는 아래와 같다.-> 0은 해당 자리에 숫자가 없으면 0으로 채우고 있는 것을 확인 가능   또, SQL에서는 소수점 위의 숫자가 없으면 '.1', '.2' 식으로 앞에 0이 사라져서 출력되는데 이를 수정하기 위해서 FM을 ..

Oracle/공부 2025.01.13

[SQL] LEVEL을 이용해서 구구단 1단부터 9단까지 출력하기

머릿 속으로 암산을 하다가 퍼뜩 SQL로 구구단을 출력해보고 싶어져 쿼리를 작성해 보았다..!  파이썬에는 for 문이 있지만 SQL에서는 LEVEL을 이용하면 된다.우선 구구단은 기본적으로 A(단) * B(곱할수) 구조 이므로 LEVEL을 두 개 사용했다. # 첫 시도SELECT LEVEL AS 단, num AS 곱할수, LEVEL * num AS 결과FROM (SELECT LEVEL AS num FROM DUAL CONNECT BY LEVEL   처음엔 이렇게 쿼리를 작성하였으나 숫자값이 중복되어 출력되는 현상이 발생했다.LEVEL과 num을 독립적으로 명시해주지 않았기 때문이다!또한 CONNECT BY가 중첩되면서 조합이 중복적으로 생성된다.   1단부터 9단까지 오류 없이..

Oracle/공부 2025.01.07