database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 2278 게시물 읽기
No. 2278
접속통계를 구하려는데..
작성자
이병권(snoo22)
작성일
2005-09-05 18:23
조회수
3,671
table
seq sessionid visitdt ip group
1 1000002 20050905125647 ... A
2 1000002 20050905125847 ... A
3 1000001 20050905162349 ... A
.. .. ... ... ..
.. .. ... ... ..
이런식으로 로그를 기록하고 있습니다.
날짜(월,일,년) 별로 접속 통계를 구하려는데 쿼리가 어렵네요...
조언 부탁드립니다.
이 글에 대한 댓글이 총 3건 있습니다.

구체적으로 뭐가 어렵나요?? 

이경환(babocom)님이 2005-09-05 18:33에 작성한 댓글입니다.

이런걸 원하시는 건지 모르겠는데요!!!

 

select count(seq) from table

where SUBSTRING(visitdt, 1, 4) = '년도'

and SUBSTRING(visitdt, 5, 2) = '월'

and SUBSTRING(visitdt, 7,2) = '일'

and SUBSTRING(visitdt, 9, 2) = '시간'

and SUBSTRING(visitdt, 11, 2) = '분'

and SUBSTRING(visitdt, 13, 2) = '초'

 

visitdt 의 자료형이 datetime이었다면

//====================================================// DATEPART (MSSQL)
 SELECT
 GETDATE(),
 DATEPART(year, GETDATE()) AS '년도',
 DATEPART(quarter, GETDATE()) AS '분기(1-4)',
 DATEPART(month, GETDATE()) AS '달',
 DATEPART(dayofyear, GETDATE()) AS '일수(1-366)',
 DATEPART(day, GETDATE()) AS '일자',
 DATEPART(week, GETDATE()) AS '주수(1-53)',
 DATEPART(weekday, GETDATE()) AS '요일',
 DATEPART(hour, GETDATE()) AS '시간',
 DATEPART(minute, GETDATE()) AS '분',
 DATEPART(second, GETDATE()) AS '초',
 DATEPART(millisecond, GETDATE()) AS '밀리초'
 
 //---------------------------------------------------// 결과
 GETDATE : 2005-08-05 17:54:14.013 
 년도 : 2005
 분기 : 3
 달 : 8
 일수 : 217
 일자 : 5
 주소(1-53): 32
 요일 : 6
 시간 : 17
 분 : 54
 초 : 14
 밀리초 : 13
 //====================================================// DATEPART (MSSQL)


 //====================================================// DATENAME (MSSQL)
 SELECT
 GETDATE(),
 DATENAME(year, GETDATE()) AS '년도',
 DATENAME(quarter, GETDATE()) AS '분기(1-4)',
 DATENAME(month, GETDATE()) AS '달',
 DATENAME(dayofyear, GETDATE()) AS '일수(1-366)',
 CASE LEN(DATENAME(day, GETDATE()))
  WHEN 1 THEN '0' + DATENAME(day, GETDATE())
  ELSE DATENAME(day, GETDATE())
 END AS '일자',
 DATENAME(week, GETDATE()) AS '주수(1-53)',
 DATENAME(weekday, GETDATE()) AS '요일',
 
 CASE LEN(DATENAME(hour, GETDATE()))
  WHEN 1 THEN '0' + DATENAME(hour, GETDATE())
  ELSE DATENAME(hour, GETDATE())
 END AS '시간',
 CASE LEN(DATENAME(minute, GETDATE()))
  WHEN 1 THEN '0' + DATENAME(minute, GETDATE())
  ELSE DATENAME(minute, GETDATE())
 END AS '분',
 CASE LEN(DATENAME(second, GETDATE()))
  WHEN 1 THEN '0' + DATENAME(second, GETDATE())
  ELSE DATENAME(second, GETDATE())
 END AS '초',
 DATENAME(millisecond, GETDATE()) AS '밀리초'
 
 //---------------------------------------------------// 결과
 GETDATE : 2005-08-05 17:54:14.013
 년도 : 2005
 분기 : 3
 달 : 08
 일수 : 217
 일자 : 05
 주소(1-53): 32
 요일 : 금요일
 시간 : 17
 분 : 54
 초 : 14
 밀리초 : 13
 //====================================================// DATENAME (MSSQL)

이럲게 사용할 수 있습니다.

황대권님이 2005-09-12 03:01에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
2284msde에서 클라이언트 사용할려면... [1]
초보
2005-09-07
1639
2282Job 등록시 질문 [2]
최보라
2005-09-07
1492
2280쿼리 좀 가르쳐 주세요! [3]
nigel
2005-09-06
2206
2278접속통계를 구하려는데.. [3]
이병권
2005-09-05
3671
2277커서질문입니다 [1]
다반향초
2005-09-05
3167
2272MS SQL200에서 특정 테이블만 복원하는방법 좀 알려주세요.. [2]
낙자사발
2005-09-03
2029
2270standby database... [1]
mssql
2005-09-02
1777
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.021초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다