SQL 단일행 함수 - 일반함수 ( case when ~ then~ else~end as ) 파생컬럼생성
case when~ then~ else~end as절 (if 문 ) 부등호 ,= 비교가 모두 가능하다 decode 는 = 부등호 비교만 가능했음! 예제 : 이름, 월급, 보너스를 출력하는데 월급이 3000 이상이면 보너스를 9000을 출력하고 월급이 3000보다 작으면 0을 출력하시오 select ename, sal, case when sal ≥3000 then 9000 else 0 end as 보너스 from emp; 문제 : 직업이 세일즈맨, 어널리스트인 사원들의 이름 직업 월급 보너스를 출력 월급이 3000 이상이면 보너스를 500, 2000 이상이면 보너스를 300 월급이 1000 이상이면 보너스 200 나머지는 0을 출력한다. select ename, job, sal, case when sal ..
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; 설명 : 소수점 이후는 지정..