select GETDATE()+10 --10일후로 입력.
dateadd
/*년 yy
월 mm
일 dd
시 hh
분 mi
초 ss,
dy(day of year), dw(day of week), qq
*/
select DATEADD(yy,5,GETDATE());
select DATEDIFF(dd,'2011-12-31',GETDATE()); -- 년도끼리 연산.
select DATENAME(DW,GETDATE()); --문자형반환. /목요일
select DATEPART(DW,GETDATE()); --숫자형 반환 /5일
select YEAR(GETDATE()); --GETDATE에서 YEAR값리턴.
select MONTH(GETDATE()); --GETDATE에서 MONTH값리턴.
select DAY(GETDATE()); -- GETDATE에서 DAY값리턴.
--정수형 문자형을 합치는 방법.
select ename, empno --ename은 문자형 empno가 숫자형일때
from emp;
--CONVERT로 문자형으로 형변환.
select ename + CONVERT(varchar(10), empno)
from emp
--CAST로 문자형으로 형변환.
select ename + CAST(empno as VARCHAR(10))
from emp
--년월일 표기식 변경.
select convert(varchar(20),GETDATE(),101); -- 미국표기식 년월일.
select convert(varchar(20),GETDATE(),102); -- ansi식 년월일.
select convert(varchar(20),GETDATE(),112); -- ios식 년월일
--집계함수는 null을 배제하고 사용한다.
/*
평균 avg
최대값 max
최소값 min
합계 sum
count
*/
--empno안에 총 몇가지 값이 있는지 갯수 체크.
select count(isnull(empno,0))
from emp
select SUM(comm) as [합계]
from emp
select AVG(isnull(comm,0)) as [평균]
from emp
--clerk를 제외
select job, AVG(sal) as [합 계]
from emp
where job != 'clerk'
group by job
select MAX(SAL)
from emp
select min(sal)
from emp
select job, deptno,avg(sal)
from emp
group by job
'개발 > SQL' 카테고리의 다른 글
MS-SQL 정렬문법 [order by , top ] (0) | 2011.05.18 |
---|---|
MS-SQL 기초문제 (0) | 2011.05.18 |
MS-SQL 숫자,텍스트,문법 [ in , like , Math ] (0) | 2011.05.18 |
기초 문법 [ pivot , ROW_NUMBER , Rank , DENSE_RANK , NTILE ] (0) | 2011.05.18 |
기초문법 [ GROUPING , with rollup , is not null ] (0) | 2011.05.18 |