복붙노트

[SQL] SQL 날짜에서만 연도와 월을 얻기

SQL

SQL 날짜에서만 연도와 월을 얻기

나는 SQL 서버에서 날짜 필드에서 액세스 전용 Month.Year해야합니다.

해결법

  1. ==============================

    1.뿐만 아니라 제안은 내가 당신의 질문에서 추론 할 수있는 하나의 다른 possiblity가가, 이미 주어진 : - 당신은 여전히 ​​결과는 날짜가되고 싶어요 -하지만 당신은 '폐기'는 일, 시간 등 원하는 - 년 / 월에만 날짜 필드를 떠나

    뿐만 아니라 제안은 내가 당신의 질문에서 추론 할 수있는 하나의 다른 possiblity가가, 이미 주어진 : - 당신은 여전히 ​​결과는 날짜가되고 싶어요 -하지만 당신은 '폐기'는 일, 시간 등 원하는 - 년 / 월에만 날짜 필드를 떠나

    SELECT
       DATEADD(MONTH, DATEDIFF(MONTH, 0, <dateField>), 0) AS [year_month_date_field]
    FROM
       <your_table>
    

    이것은 기준일 (0)에서 전체 개월 수를 얻고, 그 기준일에 추가합니다. 따라서 날짜가에있는 달 아래 반올림.

    참고 :에서 SQL 서버 2008, 당신은 여전히 ​​시간은 00로 첨부합니다 : 00 : 00.000 모두 날짜와 시간의 표기를 "제거"이것은 정확히 동일하지 않습니다. 또한 DAY 처음으로 설정. 예를 들면 2009-10-01 00 : 00 : 00.000

  2. ==============================

    2.

    select month(dateField), year(dateField)
    
  3. ==============================

    3.

    SELECT convert(varchar(7), getdate(), 126) 
    

    이 웹 사이트를 확인하고 싶어 수 있습니다 http://anubhavg.wordpress.com/2009/06/11/how-to-format-datetime-date-in-sql-server-2005/

  4. ==============================

    4.

    SELECT DATEPART(yy, DateVal)
    SELECT DATEPART(MM, DateVal)
    SELECT DATENAME(MM, DateVal)
    
  5. ==============================

    5.

    datename(m,column)+' '+cast(datepart(yyyy,column) as varchar) as MonthYear
    

    출력은 다음과 같이 표시됩니다 '2013 12월'

  6. ==============================

    6.그것을 할 수있는 두 개의 SQL 기능이 있습니다 :

    그것을 할 수있는 두 개의 SQL 기능이 있습니다 :

    자세한 내용은 링크 된 문서를 참조하십시오.

  7. ==============================

    7.이뿐만 아니라 도움이 될 수 있습니다.

    이뿐만 아니라 도움이 될 수 있습니다.

    SELECT YEAR(0), MONTH(0), DAY(0);
    

    또는

    SELECT YEAR(getdate()), MONTH(getdate()), DAY(getdate());
    

    또는

    SELECT YEAR(yourDateField), MONTH(yourDateField), DAY(yourDateField);
    
  8. ==============================

    8.의는이 방법을 쓸 수 : YEAR (anySqlDate)와 MONTH (anySqlDate). 예를 들어 년에 그것을 시도 (GETDATE ()).

    의는이 방법을 쓸 수 : YEAR (anySqlDate)와 MONTH (anySqlDate). 예를 들어 년에 그것을 시도 (GETDATE ()).

  9. ==============================

    9.

    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
    
  10. ==============================

    10.나는 두 가지 방법으로 문제를 해석하고있다.

    나는 두 가지 방법으로 문제를 해석하고있다.

    A) 당신은 어떤 여기 경우에 대답은 별도로 연도와 월을 필요로

    select 
            [YEAR] = YEAR(getdate())
            ,[YEAR] = DATEPART(YY,getdate())
            , [MONTH] = month(getdate())
            ,[MONTH] = DATEPART(mm,getdate())
            ,[MONTH NAME] = DATENAME(mm, getdate()) 
    

    비)

    ': 01 : 55.483을 2009-11-24 09'MONTH.YEAR 형식으로 당신은 주어진 날짜의 말에서 표시 할. 그래서 출력이 경우 11.2009 일이 아니다.

    즉이 경우 있어야하는데 경우 (다른 대안들)이 시도

    select [Month.Year] = STUFF(CONVERT(varchar(10), GETDATE(),104),1,3,'')
    
  11. ==============================

    11.

    RIGHT(CONVERT(VARCHAR(10), reg_dte, 105), 7) 
    
  12. ==============================

    12.이러한 MS ACCESS 또는 RODBC 같은 데이터베이스의 일부는하지만 단순히이 작업을 수행 할 수있는 포맷 기능이있는 데이터베이스의 SQL 서버 기능을 지원하지 않을 수 있습니다 :

    이러한 MS ACCESS 또는 RODBC 같은 데이터베이스의 일부는하지만 단순히이 작업을 수행 할 수있는 포맷 기능이있는 데이터베이스의 SQL 서버 기능을 지원하지 않을 수 있습니다 :

    SELECT FORMAT(<your-date-field>,"YYYY-MM") AS year-date FROM <your-table>
    
  13. ==============================

    13.

    CONCAT (datepart (yy,DATE), FORMAT (DATE,'MM')) 
    

    당신이 여섯 자리의 결과를 원하는 경우 201,601을 예 준다

  14. ==============================

    14.이 시도

    이 시도

    select to_char(DATEFIELD,'MON') from YOUR_TABLE
    

    예를 들면.

    select to_char(sysdate, 'MON') from dual
    
  15. ==============================

    15.이 시도:

    이 시도:

    포르투갈 인

    SELECT format(dateadd(month, 0, getdate()), 'MMMM', 'pt-pt') + ' ' + convert(varchar(10),year(getdate()),100)
    

    결과 : 2019 월

    영어

    SELECT format(dateadd(month, 0, getdate()), 'MMMM', 'en-US') + ' ' + convert(varchar(10),year(getdate()),100)
    

    결과: 2019 월

    당신은 링크에서 이들의 또 다른 언어 변경 'PT-PT'또는 'EN-US'에서 원하는 경우

  16. ==============================

    16.나는 다음과 같은 수행 할 수있는 월 - 년 보여줄 것입니다 어디에 비슷한 할 수있는 특정 요구 사항을했다 :

    나는 다음과 같은 수행 할 수있는 월 - 년 보여줄 것입니다 어디에 비슷한 할 수있는 특정 요구 사항을했다 :

    SELECT DATENAME (월, GETDATE ()) + '-'+ (NVARCHAR AS YEAR (GETDATE ())) CAST AS '월 - 년'

    내 특정 경우에, 나는 이런 식으로 뭔가를 찾고, 2 자리 연도로 3 편지 개월 준말로 내려 가질 필요 : SELECT LEFT (DATENAME (월, GETDATE ()), 3) + '-'+ CAST (RIGHT (YEAR (GETDATE ()), 2) NVARCHAR (2) AS) AS '월 - 년'

  17. ==============================

    17.(, 월 (하여 DateField), 년 (하여 DateField) '.') SELECT CONCAT을 시도 YOURTABLE FROM;

    (, 월 (하여 DateField), 년 (하여 DateField) '.') SELECT CONCAT을 시도 YOURTABLE FROM;

  18. ==============================

    18.대부분의 기능을 지원하지 않습니다 내 데이터베이스 위 그러나 나는이 작품을 발견 :

    대부분의 기능을 지원하지 않습니다 내 데이터베이스 위 그러나 나는이 작품을 발견 :

    테이블 SELECT * WHERE SUBSTR (datetime_column, starting_position, number_of_strings) = required_year_and_month;

    예를 들어 : SELECT SUBSTR (생성 1,7) 테이블;

    형식 "YYYY-MM"의 연도와 월을 반환

  19. ==============================

    19.날짜에서 월 및 연도를 가져옵니다

    날짜에서 월 및 연도를 가져옵니다

    DECLARE @lcMonth nvarchar(10)
    DECLARE @lcYear nvarchar(10)
    
    SET @lcYear=(SELECT  DATEPART(YEAR,@Date))
    SET @lcMonth=(SELECT  DATEPART(MONTH,@Date))
    
  20. ==============================

    20.

    SELECT REPLACE(RIGHT(CONVERT(VARCHAR(11), GETDATE(), 106), 8), ' ', '-')
    

    출력 : 3 월 2019

  21. ==============================

    21.검색어 : - 선택 DATENAME (m, GETDATE ()) + '-'+ 캐스트 (날짜 부분 (YYYY, GETDATE ()) VARCHAR 등)의 필드 명으로

    검색어 : - 선택 DATENAME (m, GETDATE ()) + '-'+ 캐스트 (날짜 부분 (YYYY, GETDATE ()) VARCHAR 등)의 필드 명으로

    출력 : - 월 2019

    우리가 사용할 수있는 일반적인하여 DateField

    datename(m,<DateField>)+' '+cast(datepart(yyyy,<DateField>) as varchar) as FieldName
    
  22. ==============================

    22.결과에 대한 "YYYY-MM"

    결과에 대한 "YYYY-MM"

    SELECT cast(YEAR(<DateColumn>) as varchar) + '-' + cast(Month(<DateColumn>) as varchar)
    
  23. ==============================

    23.

    select convert(varchar(11), transfer_date, 106) 
    

    나에게 2018 3월 7일로 포맷 된 날짜의 내 원하는 결과를 얻었다

    내 열 'transfer_date'는 날짜 형식 열 내가 푸른에 SQL 서버 2017을 사용하고 있습니다

  24. from https://stackoverflow.com/questions/1781946/getting-only-month-and-year-from-sql-date by cc-by-sa and MIT license