SQL 단일행 함수 - 숫자함수 (Round, Trunc, Mod)반올림, 숫자버리기, 나누기
숫자함수 ROUND (반올림 하여 출력) 예제 : 876.567 소수점 두번째 자리인 6에서 반올림 해서 출력 select round(876.567, 1) from dual; 두번째 자리에서 반올림하면 소수점 첫번째 자리 값만 출력되기 때문에 1 이다. 0 은 = '.' 의 자리수를 의미한다 round(숫자, 0 ) 의 0 은 쓰나, 안쓰나 같은 값이 나온다. 문제 : 우리반 테이블에서 나이를 출력하는데 , 일의 자리에서 바로 반올림 select round(sal, 2) from emp; Trunc (숫자를 버리고 출력하기) 예제 : 876.567 출력, 소수점 두번짜자리인 6과 그 이후 숫자를 모두 버리고 출력 select trunc(876.567, 1) from dual; 설명 : 소수점 이후는 지정..
SQL 단일행 함수 - 문자함수 (Trim, Rtrim, Ltrim) 문자잘라내기
TRIM, RTRIM, LTRIM ( 특정 철자 잘라내기, 오른쪽 철자 잘라내기, 왼쪽철자 잘라내기 ) select 'smith', ltrim('smith', 's'), rtrim('smith', 'h'). trim ('s' from 'smith') from dual; 설명 : smith 는 데이터가 없음으로 select 절 다음에 ' smith ' 입력 해 준뒤, LTRIM, PTRIM, TRIM 을 해준다. ltrim( '단어', '철자') 이고 rtrim 도 마찬가지 but , trim은 (' 철자' from '단어') 순으로 코딩 해 주어야 한다. 응용문제 : email 에서 도메인을 출력 하시오 trim 을 사용할때 ' 자르는 단어 ' 를 한 뭉텅이로 보는게 아니고 들어가있는 단어 하나하나를 인..
SQL 단일행 함수 - 문자함수 (Replace), (Lpad, Rpad) 문자 대체하기, 특정철자를 n 개만큼 채우기
Replace (특정철자를 다른철자로 변경하기) select ename, replace(sal, 0 , '*') from emp; 노*정 으로 출력 되게 하시오 (병원 전광판에 많이 쓰이는 SQL 함수) select replace(ename, substr(ename,2,1),'*') from emp14 설명 : 가운데 이름을 * 로 대체하여 출력해야하기 때문에 replace ( 컬럼명, 바뀔철자, '대체할 문자') 컬럼명은 : ename 바뀔 철자 : 이름 두번째 철자를 추출해야한다. —> substr(ename , 2, ,1 ) —> ename 의 두번째 순서의 글자를 1개만 추출한다 대체할 문자 : '*' select 절의 의미 : ename 의 (2번째철자로부터 1개) 철자를 추출하여서 * 으로 대..