SQL DATE에서 월과 연도 만 가져 오기
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 month(dateField), year(dateField)
SELECT DATEPART(yy, DateVal)
SELECT DATEPART(MM, DateVal)
SELECT DATENAME(MM, DateVal)
SELECT convert(varchar(7), getdate(), 126)
이 웹 사이트를 확인하고 싶을 수 있습니다 : http://anubhavg.wordpress.com/2009/06/11/how-to-format-datetime-date-in-sql-server-2005/
datename(m,column)+' '+cast(datepart(yyyy,column) as varchar) as MonthYear
결과는 다음과 같습니다. '2013 년 12 월'
이를 수행하는 두 가지 SQL 함수가 있습니다.
자세한 내용은 링크 된 설명서를 참조하십시오.
이것도 도움이 될 수 있습니다.
SELECT YEAR(0), MONTH(0), DAY(0);
또는
SELECT YEAR(getdate()), MONTH(getdate()), DAY(getdate());
또는
SELECT YEAR(yourDateField), MONTH(yourDateField), DAY(yourDateField);
의는이 방법을 쓸 수 : YEAR(anySqlDate)
와 MONTH(anySqlDate)
. YEAR(GETDATE())
예를 들어 사용해보십시오 .
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,'')
Some of the databases such as MS ACCESS
or RODBC
may not support the SQL SERVER
functions, but for any database that has the FORMAT
function you can simply do this:
SELECT FORMAT(<your-date-field>,"YYYY-MM") AS year-date FROM <your-table>
RIGHT(CONVERT(VARCHAR(10), reg_dte, 105), 7)
CONCAT (datepart (yy,DATE), FORMAT (DATE,'MM'))
gives you eg 201601 if you want a six digit result
Try this
select to_char(DATEFIELD,'MON') from YOUR_TABLE
eg.
select to_char(sysdate, 'MON') from dual
Try this:
Portuguese
SELECT format(dateadd(month, 0, getdate()), 'MMMM', 'pt-pt') + ' ' + convert(varchar(10),year(getdate()),100)
Result: maio 2019
English
SELECT format(dateadd(month, 0, getdate()), 'MMMM', 'en-US') + ' ' + convert(varchar(10),year(getdate()),100)
Result: May 2019
If you want in another language, change 'pt-pt' or 'en-US' to any of these in link
My database doesn't support most of the functions above however I found that this works:
SELECT * FROM table WHERE SUBSTR(datetime_column, starting_position, number_of_strings)=required_year_and_month;
for example: SELECT SUBSTR(created, 1,7) FROM table;
returns the year and month in the format "yyyy-mm"
Get Month & Year From Date
DECLARE @lcMonth nvarchar(10)
DECLARE @lcYear nvarchar(10)
SET @lcYear=(SELECT DATEPART(YEAR,@Date))
SET @lcMonth=(SELECT DATEPART(MONTH,@Date))
SELECT REPLACE(RIGHT(CONVERT(VARCHAR(11), GETDATE(), 106), 8), ' ', '-')
Output: Mar-2019
Query :- Select datename(m,GETDATE())+'-'+cast(datepart(yyyy,GETDATE()) as varchar) as FieldName
Output :- January-2019
general datefield we can use
datename(m,<DateField>)+' '+cast(datepart(yyyy,<DateField>) as varchar) as FieldName
For result: "YYYY-MM"
SELECT cast(YEAR(<DateColumn>) as varchar) + '-' + cast(Month(<DateColumn>) as varchar)
select convert(varchar(11), transfer_date, 106)
got me my desired result of date formatted as 07 Mar 2018
My column 'transfer_date' is a datetime type column and I am using SQL Server 2017 on azure
I had a specific requirement to do something similar where it would show month-year which can be done by the following:
SELECT DATENAME(month, GETDATE()) + '-' + CAST(YEAR(GETDATE()) AS nvarchar) AS 'Month-Year'
In my particular case, I needed to have it down to the 3 letter month abreviation with a 2 digit year, looking something like this: SELECT LEFT(DATENAME(month, GETDATE()), 3) + '-' + CAST(RIGHT(YEAR(GETDATE()),2) AS nvarchar(2)) AS 'Month-Year'
Try SELECT CONCAT(month(datefield), '.', year(datefield)) FROM YOURTABLE;
참고URL : https://stackoverflow.com/questions/1781946/getting-only-month-and-year-from-sql-date
'IT박스' 카테고리의 다른 글
문자열 길이를 기준으로 문자열 자르기 (0) | 2020.07.24 |
---|---|
UIPageViewController의 스 와이프 동작을 어떻게 비활성화합니까? (0) | 2020.07.24 |
objective-c에서 NSURL의 일부 가져 오기 (0) | 2020.07.24 |
Android 4.3 메뉴 항목 showAsAction =“항상”무시 (0) | 2020.07.24 |
handlerbars.js 목록이 비어 있는지 확인 (0) | 2020.07.24 |