예제
select round(12.386) from dual; --소수 첫째자리에서 반올림 -> 기본
select round(12.386,2) from dual; --소수 셋째자리에서 반올림
select ceil(12.386) from dual; -- ceil: 올림
select floor(12.386) from dual; -- floor: 내림
drop table test2;
create table test2(
kor number
);
insert into test2(kor) values(100);
insert into test2(kor) values(50);
insert into test2(kor) values(90);
insert into test2(kor) values(70);
commit;
select kor from test2;
select kor as 국어점수 from test2;
select kor as 국어점수, rank() over(order by kor desc) from test2;
rank(): 순위메긴다.
order by : 내림차순으로 정렬
lower
select concat(’java’_’programing’)
…
오라클에서 쿼리문을 작성할 때 TO_CHAR() 함수는 날짜, 숫자 등의 값을 문자열로 변환하는 함수이다. 자주 사용하는 기본 함수이므로 아래의 다양한 변환 방법을 알고 있으면 많은 도움이 된다.
SELECT TO_CHAR(SYSDATE, 'YYYYMMDD')--20200723
, TO_CHAR(SYSDATE, 'YYYY/MM/DD')--2020/07/23
, TO_CHAR(SYSDATE, 'YYYY-MM-DD')--2020-07-23
, TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS')--2020-07-23 11:10:52FROM dual
YYYY: 년, MM: 월, DD: 일, HH24: 24시간, HH: 12시간, MI: 분, SS:초
SELECT TO_CHAR(123.456, 'FM990.999')--123.456
, TO_CHAR(1234.56, 'FM9990.99')--1234.56
, TO_CHAR(0.12345, 'FM9990.99')--0.12FROM dual
FM: 문자열의 공백제거
숫자의 최대 길이만큰 9999... 형식을 지정한다. (9 : 값이 없으면 표시안함, 0: 값이 없으면 "0"으로 처리)
정수은 지정한 형식보다 값의 길이가 길면 오류, 소수 지정한 길이보다 길면 반올림
SELECT TO_CHAR(123467, 'FM999,999')--123,467
, TO_CHAR(123467890, 'FM999,999,999')--123,467,890
, TO_CHAR(123467, 'FML999,999')--₩123,467FROM dual
숫자의 최대 길이만큰 9999... 형식을 지정한다.
SELECT TO_CHAR(123)--123
, TO_CHAR(123, 'FM00000')--00123FROM dual
SELECT TO_CHAR(SYSDATE, 'MM/DD')--07/03
, TO_CHAR(SYSDATE, 'FMMM/DD')--7/3FROM dual
SELECT TO_CHAR(SYSDATE, '""YYYY"년 "MM"월 "DD"일"')--2020년 07월 23일
, TO_CHAR(SYSDATE, '""HH24"시 "MI"분 "SS"초"')--11시 12분 20초FROM dual
SELECT TO_CHAR(SYSDATE, 'AM')--오전
, TO_CHAR(SYSDATE, 'AM HH:MI:SS')--오전 11:44:31
, TO_CHAR(SYSDATE, 'YYYY-MM-DD AMHH:MI:SS')--2020-07-23 오전11:44:31FROM dual
오라클 언어 설정에 따라서 오전, 오후 또는 AM, PM으로 반환됨
SELECT TO_CHAR(SYSDATE, 'D')--5 : 1(일)~7(토)
, TO_CHAR(SYSDATE, 'DY')--목
, TO_CHAR(SYSDATE, 'DAY')--목요일FROM dual
오라클 언어 설정에 따라서 한글 또는 영문으로 반환됨
SELECT TO_CHAR(SYSDATE, 'DDD')--365일 기준 205일
, TO_CHAR(SYSDATE, 'WW')--1년 기준 30주
, TO_CHAR(SYSDATE, 'Q')--3분기FROM dual
SELECT TO_CHAR(SYSDATE, 'MON')--7월
, TO_CHAR(SYSDATE, 'DL')--2020년 7월 23일 목요일FROM dual
오라클 언어 설정에 따라서 한글 또는 영문으로 반환됨