[sql] SQL Server 2005의 날짜 / 시간에서 월 및 연도 가져 오기

‘Jan 2008’과 같은 SQL Server의 datetime에서 월 + 연도가 필요합니다. 월, 연도별로 쿼리를 그룹화하고 있습니다. 나는 datepart, convert 등과 같은 기능을 검색하고 찾았지만 그중 어느 것도 이것에 유용하지 않은 것 같습니다. 여기에 뭔가 빠졌나요? 이것에 대한 기능이 있습니까?



답변

해당 형식의 문자열로 되돌리려면;

SELECT
  CONVERT(CHAR(4), date_of_birth, 100) + CONVERT(CHAR(4), date_of_birth, 120)
FROM customers

다른 형식 옵션은 다음과 같습니다.


답변

select
datepart(month,getdate()) -- integer (1,2,3...)
,datepart(year,getdate()) -- integer
,datename(month,getdate()) -- string ('September',...)


답변

SQL Server 2012부터 다음을 사용할 수 있습니다.

SELECT FORMAT(@date, 'yyyyMM')


답변

사용하다:

select datepart(mm,getdate())  --to get month value
select datename(mm,getdate())  --to get name of month


답변

재미있게도 저는 SQL Server와 LINQ에서 동일한 쿼리를 작성하고있었습니다.

SELECT
    DATENAME(mm, article.Created) AS Month,
    DATENAME(yyyy, article.Created) AS Year,
    COUNT(*) AS Total
FROM Articles AS article
GROUP BY
    DATENAME(mm, article.Created),
    DATENAME(yyyy, article.Created)
ORDER BY Month, Year DESC

다음 출력 (예제)을 생성합니다.

Month | Year | Total

January | 2009 | 2


답변

SQL Server 2012에서는 아래를 사용할 수 있습니다.

FORMAT (getdate (), ‘MMM yyyy’) 선택

정확한 “2016 년 6 월”을 제공합니다.


답변

이건 어때?

Select DateName( Month, getDate() ) + ' ' + DateName( Year, getDate() )