SQL Server의 Date 필드에서 Month.Year에만 액세스해야합니다.
SQL Server의 Date 필드에서 Month.Year에만 액세스해야합니다.
답변:
: 제안은 이미 주어진 아니라, 다른 한 possiblity가 존재하는 한 나는 당신의 질문에서 추측 할 수
당신은 아직 날짜로 결과를 원하는 -
-하지만 당신은 '폐기'는 일, 시간 등 원하는
- 떠나 년 / 월 날짜 필드 만
SELECT
DATEADD(MONTH, DATEDIFF(MONTH, 0, <dateField>), 0) AS [year_month_date_field]
FROM
<your_table>
기본 날짜 (0)에서 전체 월 수를 가져온 다음 해당 기본 날짜에 추가합니다. 따라서 날짜가있는 달로 내림합니다.
참고 : SQL Server 2008에서는 여전히 TIME을 00 : 00 : 00.000으로 첨부합니다. 이것은 날짜와 시간을 모두 "제거"하는 것과 정확히 동일하지 않습니다. 또한 DAY가 첫 번째로 설정되었습니다. 예 : 2009-10-01 00 : 00 : 00.000
SELECT convert(varchar(7), getdate(), 126)
이 웹 사이트를 확인하고 싶을 수 있습니다 : http://anubhavg.wordpress.com/2009/06/11/how-to-format-datetime-date-in-sql-server-2005/
convert(varchar(7), <date_field>, 120)
because 120 results in 'yyyy-MM-dd' which is varchar(10)
using varchar(7) will display only year and month
example:
select convert(varchar(7), <date_field>, 120), COUNT(*)
from <some_table>
group by convert(varchar(7), <date_field>, 120)
order by 1
귀하의 질문을 두 가지 방식으로 해석하고 있습니다.
a) 당신은 달과 년만 별도로 필요합니다.
select
[YEAR] = YEAR(getdate())
,[YEAR] = DATEPART(YY,getdate())
, [MONTH] = month(getdate())
,[MONTH] = DATEPART(mm,getdate())
,[MONTH NAME] = DATENAME(mm, getdate())
비)
당신은 주어진 날짜의 말에서 표시 할 '2009-11-24 09:01:55.483'
에서 MONTH.YEAR의 형식입니다. 따라서 출력은 11.2009
이 경우 와 같아야합니다 .
그것이 사실이라면, 이것을 시도하십시오 (다른 대안들 중에서)
select [Month.Year] = STUFF(CONVERT(varchar(10), GETDATE(),104),1,3,'')
이 시도:
포르투갈 인
SELECT format(dateadd(month, 0, getdate()), 'MMMM', 'pt-pt') + ' ' + convert(varchar(10),year(getdate()),100)
결과 : maio 2019
영어
SELECT format(dateadd(month, 0, getdate()), 'MMMM', 'en-US') + ' ' + convert(varchar(10),year(getdate()),100)
결과 : 2019 년 5 월
다른 언어로 원하는 경우 링크에서 ' pt-pt '또는 ' en-US '를 이들 중 하나로 변경 하십시오.
나는 다음과 같이 할 수있는 월-년을 표시하는 비슷한 것을 수행 해야하는 특정 요구 사항이있었습니다.
SELECT DATENAME(month, GETDATE()) + '-' + CAST(YEAR(GETDATE()) AS nvarchar) AS 'Month-Year'
필자의 경우에는 2 자리 연도의 3 글자 약어로 다음과 같이 표시해야했습니다.
SELECT LEFT(DATENAME(month, GETDATE()), 3) + '-' + CAST(RIGHT(YEAR(GETDATE()),2) AS nvarchar(2)) AS 'Month-Year'
SELECT REPLACE(RIGHT(CONVERT(VARCHAR(11), GETDATE(), 106), 8), ' ', '-')
출력 : 2019 년 3 월
결과 : "YYYY-MM"
SELECT cast(YEAR(<DateColumn>) as varchar) + '-' + cast(Month(<DateColumn>) as varchar)
select convert(varchar(11), transfer_date, 106)
2018 년 3 월 7 일 형식의 원하는 날짜 결과를 얻었습니다.
내 열 'transfer_date'는 날짜 시간 유형 열이며 Azure에서 SQL Server 2017을 사용하고 있습니다.