2011-11-22 3 views
1

나는 아래와 같이 년 - 월 - 일 시간 : 분 : 초로 날짜를 기록하는 데이터 테이블을 가지고있다.일련의 상세한 시간 소인을 시간과 분으로 단지 날짜로 줄이려면 어떻게해야합니까?

2011-10-20 10:48:41, 2011-10-20 10:51:37, 2011-11-20 11:01:46 , 2011-11-20 11:16:03 ,2011-11-20 12:02:33 

각 시간 스탬프는 특정 항목과 관련이 있습니다. 하루에 항목 수를 계산하려고하는데 그 날짜까지 그룹화하면 시간 소인이 너무 구체적이기 때문에 모든 목록을 제공합니다. 시간 소인을 줄이면 2011-10-20 대 2011-10-20 10:48:41 만 볼 수 있습니다.

타임 스탬프를 선택하거나 그룹화 기능을 사용하기 위해 between 함수를 사용하여 여러 번 시도했지만 운이 없었습니다.

답변

0

어떤 프로그래밍 언어를 사용하고 있는지 알 수는 없지만 날짜와 시간을 구문 분석 할 수있는 수많은 도구가 있습니다. 예를 들어 .NET 프레임 워크에는 DateTime.Parse() 메서드가 있습니다.

프레임 워크 도구를 사용하지 않으려는 경우 날짜 문자열에 항상 String.split()을 사용하고 공백을 구분 기호로 전달한 다음 결과 배열의 첫 번째 요소 만 유지할 수 있습니다.

0

T-SQL에서 datetime에서 타임 스탬프를 제거하는 방법은 다음과 같습니다.

모든 datetime 개체에는 타임 스탬프가없는 날짜 부분을 제공하는 Date 속성이 있습니다. 예를 들어 datetime 객체 이름이 myDate 인 경우 myDate.Date는 날짜 부분 만있는 새 객체를 제공합니다.

편집 : 귀하의 질문을 다시 읽은 후 나는 결론적으로 SQL에서이 작업을 수행하려고했습니다. 함께 간단한 예를 들어 보겠습니다.

SELECT COUNT(*) AS DailyItemCount, NewItemDate 
FROM ( 
    SELECT ItemId, 
    CONVERT(DATETIME, FLOOR(CONVERT(FLOAT, ItemDate))) AS NewItemDate 
    FROM MyTable 
) AS NoTimeTable 
GROUP BY NoTimeTable.NewItemDate 
관련 문제