2011-09-21 3 views
1

:
MyDate가이 NVARCHAR이다 (20)어떻게 날짜 BY GROUP에, 날짜의 형식은 NVARCHAR 예를 들면

mydate 
------------- 
2011/08/04 10:14:47 
2011/07/20 15:00:00 
2011/07/20 22:15:59 
2011/08/04 13:17:33 

방법, 예를 들어 날짜

로 그룹 최대 :

mydate 
------------ 
2011/08/04 
2011/07/20 
+2

어떤 데이터베이스 시스템을 사용합니까? –

+0

날짜를 적어도 문자열을 명확하고 정렬 가능한 날짜 형식을 사용하여 저장해야하는 경우 날짜를 문자열로 저장해서는 안됩니다. 마지막으로'nvarchar (20)'이유는 무엇입니까? 그들은 비 ASCII 문자를 결코 포함하지 않을 것입니다. –

+0

@ Martin - 정말입니까? 아랍어 또는 히브리어 스크립트의 날짜가 존재할 수있는 것 같습니다 ... –

답변

3

,이 시도 :

SELECT LEFT(date_col,10) AS mydate, COUNT(*) 
FROM your_table 
GROUP BY LEFT(date_col,10); 
0

평소와 똑같은 방식으로 처리해야합니다. 내가 varchar가 알파벳 순서로 정렬됩니다 실수가 아니라면,이 경우 동일합니다. 또한 char 대신 날짜로 데이터베이스 구조를 변경하는 것이 좋습니다. SQL Server를 사용 tou're 가정

+0

당신의 의견에 동의하지만, 테이블이 설정되어 변경할 수 없습니다. 그래서 그걸 기반으로 솔루션을 찾으려고합니다. 조언 해주셔서 감사합니다! – AGA

0

오라클에서는 다음과 같은 예를 사용할 수 있습니다

select substr(mydate, 1, 10), count(*) 
    from mytable 
group by substr(mydate, 1, 10) 
+0

감사합니다! SQL Server를 사용하고 있습니다 ~ – AGA

0

SQL 서버 -이 시도를

SELECT convert(varchar, getdate(), 111) AS mydate 
FROM yourtable 
GROUP BY convert(varchar, getdate(), 111) 
관련 문제