DB 작업중 많이 하는 작업이 현재 시간을 비교해서 데이터 추출하기 입니다.
select * from [table] where registdate > '2013-08-27' and registdate < '2013-08-28'
쓰면 간단하게 추출할수 있지만,프로그램으로 돌리다 보면 지금 시간을 이용해서 데이터를 뿌려주는 경우가 많습니다.
그때 사용하는 방법중 하나가
getdate() 입니다.
select getdate() 를 사용하면 현재 시간을 확인할수 있습니다
그리고 getdate() 와 convert를 이용해서 현재 데이터를 추출할수 있습니다.
select * from [table] where convert(int, convert(char(8), registdate , 112)) = CONVERT(VARCHAR, GETDATE(), 112)
을 이용하면 오늘 날짜의 데이터를 간단하게 추출할수 있습니다.
그리고 getdate() 와 convert를 이용한 날짜변환 방법
ex) SELECT CONVERT(VARCHAR, GETDATE(), 112)
CODE | 결과 |
0 | 08 27 2013 3:29PM |
1 | 08/27/13 |
2 | 13.08.27 |
3 | 27/08/13 |
4 | 27.08.13 |
5 | 27-08-13 |
6 | 27 08 13 |
7 | 08 27, 13 |
8 | 15:29:55 |
9 | 08 27 2013 3:29:55:433PM |
10 | 08-27-13 |
11 | 13/08/27 |
12 | 130827 |
13 | 27 08 2013 15:29:55:433 |
14 | 15:29:55:433 |
20 | 2013-08-27 15:29:55 |
21 | 2013-08-27 15:29:55.433 |
22 | 08/27/13 3:29:55 PM |
23 | 2013-08-27 |
24 | 15:29:55 |
25 | 2013-08-27 15:29:55.433 |
100 | 08 27 2013 3:29PM |
101 | 08/27/2013 |
102 | 2013.08.27 |
103 | 27/08/2013 |
104 | 27.08.2013 |
105 | 27-08-2013 |
106 | 27 08 2013 |
107 | 08 27, 2013 |
108 | 15:29:55 |
109 | 08 27 2013 3:29:55:433PM |
110 | 08-27-2013 |
111 | 2013/08/27 |
112 | 20130827 |
113 | 27 08 2013 15:29:55:433 |
114 | 15:29:55:433 |
120 | 2013-08-27 15:29:55 |
121 | 2013-08-27 15:29:55.433 |
126 | 2013-08-27T15:29:55.433 |
127 | 2013-08-27T15:29:55.433 |
130 | 21 ???? 1434 3:29:55:433PM |
131 | 21/10/1434 3:29:55:433PM |
자주 검색하는 내용이니, 자주쓰는것을 외워두시거나 어디 적어 놓는것이 좋을것 같습니다.
[출처] MSSQL getdate()를 이용한 데이터 조회|작성자 유니
'SQL' 카테고리의 다른 글
[MSSQL] 인덱스 생성 및 삭제 (0) | 2013.12.11 |
---|---|
[MSSQL] 예외처리 기법 (MSSQL, MYSQL) (0) | 2013.12.10 |
[MSSQL] round, ceiling 차이점 (0) | 2013.11.18 |
[MSSQL] 0으로 나누기 오류 발생 (0) | 2013.09.13 |
[MSSQL] MS SQL에서 다른 서버에 select를 실행하려면? (0) | 2013.08.21 |