복붙노트

[SQL] SQL에서 월 이름 기능에 월 번호 변환

SQL

SQL에서 월 이름 기능에 월 번호 변환

나는 1,2,3,4로 SQL Server에 저장된 개월이 ... (12). 나는 등 1 월, 2 월로 표시하고 싶은 MONTHNAME (1) = 1월 같은 SQL Server의 기능이 있습니까? 나는 가능하면 CASE 문을 피하기 위해 노력하고 있습니다.

해결법

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

    1.약간의 해키하지만 작동합니다 :

    약간의 해키하지만 작동합니다 :

    SELECT DATENAME(month, DATEADD(month, @mydate-1, CAST('2008-01-01' AS datetime)))
    
  2. ==============================

    2.나는 이것이 당신이 개월 수있을 때 달의 이름을 얻을 수있는 가장 좋은 방법이라고 생각

    나는 이것이 당신이 개월 수있을 때 달의 이름을 얻을 수있는 가장 좋은 방법이라고 생각

    Select DateName( month , DateAdd( month , @MonthNumber , 0 ) - 1 )
    

    또는

    Select DateName( month , DateAdd( month , @MonthNumber , -1 ) )
    
  3. ==============================

    3.

    SELECT DATENAME(month, GETDATE()) AS 'Month Name'
    
  4. ==============================

    4.

    SUBSTRING('JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC ', (@intMonth * 4) - 3, 3)
    
  5. ==============================

    5.가장 좋은 방법을 사용하여

    가장 좋은 방법을 사용하여

    Select DateName( month , DateAdd( month , @MonthNumber , -1 ))
    
  6. ==============================

    6.그것은 매우 간단합니다.

    그것은 매우 간단합니다.

    select DATENAME(month, getdate())
    

    출력 : 1 월

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

    7.당신은 붙박이의 CONVERT 기능을 사용할 수 있습니다

    당신은 붙박이의 CONVERT 기능을 사용할 수 있습니다

    select CONVERT(varchar(3), Date, 100)  as Month from MyTable.
    

    이 달의 처음 3 개 문자 (JAN, 2월 등)를 표시합니다

  8. ==============================

    8.다음은 나를 위해 작동합니다 :

    다음은 나를 위해 작동합니다 :

    CAST(GETDATE() AS CHAR(3))
    
  9. ==============================

    9.원본에 추가

    원본에 추가

    SELECT DATENAME (m, STR (2) + '/ 2천11분의 1')

    이 작업을 수행 할 수 있습니다

    SELECT DATENAME (m, STR ([COLUMN_NAME]) + '/ 2011 / 1')

    이 방법은 테이블의 모든 행의 이름을 얻는다. 여기서 [COLUMN_NAME]는 12까지의 숫자 값 1을 포함하는 정수 열을 나타낸다

    2 내가 달 추출 할 수있는 날짜를 만들어 연락처 문자열 정수를 나타냅니다. '2011 / / 1'은 어떤 일이 될 수 있습니다

    당신은 변수로이 작업을 수행하려면

    DECLARE @integer int;
    
    SET @integer = 6;
    
    SELECT DATENAME(m, str(@integer) + '/1/2011')
    
  10. ==============================

    10.월 이름으로 월 숫자 값을 변환하려면이 문을 사용합니다.

    월 이름으로 월 숫자 값을 변환하려면이 문을 사용합니다.

    SELECT CONVERT(CHAR(3), DATENAME(MONTH, GETDATE()))
    
  11. ==============================

    11.히브리어와 같은 일부 로케일에서, 그래서 당신은 다음과 같은 솔루션을 고려해 볼 수 있습니다 같은 로케일 피하기 오류로 올해에 의존 도약 달이있다 :

    히브리어와 같은 일부 로케일에서, 그래서 당신은 다음과 같은 솔루션을 고려해 볼 수 있습니다 같은 로케일 피하기 오류로 올해에 의존 도약 달이있다 :

    SELECT DATENAME(month, STR(YEAR(GETDATE()), 4) + REPLACE(STR(@month, 2), ' ', '0') + '01')     
    
  12. ==============================

    12.이 의지 작업을해야합니다

    이 의지 작업을해야합니다

    select datename(M,GETDATE())
    
  13. ==============================

    13.당신은 아래의 변환 기능을 사용할 수 있습니다

    당신은 아래의 변환 기능을 사용할 수 있습니다

    CONVERT(VARCHAR(3), DATENAME(MM, GETDATE()), 100)
    
  14. ==============================

    14.바로 그때, 오늘 날짜에서 현재 월을 빼기 당신의 개월 수를 다시 추가합니다. 그런 다음 한 줄에 전체 이름 모두를 제공하기 위해 DATENAME 함수를 사용합니다.

    바로 그때, 오늘 날짜에서 현재 월을 빼기 당신의 개월 수를 다시 추가합니다. 그런 다음 한 줄에 전체 이름 모두를 제공하기 위해 DATENAME 함수를 사용합니다.

    print datename(month,dateadd(month,-month(getdate()) + 9,getdate()))
    
  15. ==============================

    15.SQL 서버 2012을 시작으로, 당신은이 문제를 해결하기 위해 FORMAT과 DATEFROMPARTS를 사용할 수 있습니다. (다른 문화의 달 이름을 원하는 경우, 변경 : EN-US)

    SQL 서버 2012을 시작으로, 당신은이 문제를 해결하기 위해 FORMAT과 DATEFROMPARTS를 사용할 수 있습니다. (다른 문화의 달 이름을 원하는 경우, 변경 : EN-US)

    select FORMAT(DATEFROMPARTS(1900, @month_num, 1), 'MMMM', 'en-US')
    

    당신이 세 글자 월하려는 경우 :

    select FORMAT(DATEFROMPARTS(1900, @month_num, 1), 'MMM', 'en-US')
    

    당신이 정말로하고 싶은 경우에, 당신은 이것에 대한 기능을 만들 수 있습니다 :

    CREATE FUNCTION fn_month_num_to_name
    (
        @month_num tinyint
    )
    RETURNS varchar(20)
    AS
    BEGIN
        RETURN FORMAT(DATEFROMPARTS(1900, @month_num, 1), 'MMMM', 'en-US')
    END
    
  16. ==============================

    16.나는이 유 일이있을 때 달의 이름을 얻을 정도로 생각합니다.

    나는이 유 일이있을 때 달의 이름을 얻을 정도로 생각합니다.

    SELECT DATENAME(month ,GETDATE())
    
  17. ==============================

    17.

    SELECT DateName(M, DateAdd(M, @MONTHNUMBER, -1))
    
  18. ==============================

    18.월 이름에 개월 수를 변환하려면 다음을 시도

    월 이름에 개월 수를 변환하려면 다음을 시도

    declare @month smallint = 1
    select DateName(mm,DATEADD(mm,@month - 1,0))
    
  19. ==============================

    19.

    SELECT DATENAME(MONTH,dateadd(month, -3,getdate()))
    
  20. ==============================

    20.나를 위해 일한이 하나

    나를 위해 일한이 하나

    @MetricMonthNumber (some number)
    
    SELECT 
    (DateName( month , DateAdd( month , @MetricMonthNumber - 1 , '1900-01-01' ) )) AS MetricMonthName
    FROM TableName
    

    게시물 위에서 @leoinfo 및 @Valentino Vranken에서. 그냥 빠른 선택하고 작동 않았다.

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

    21.

    Declare @MonthNumber int
    SET @MonthNumber=DatePart(Month,GETDATE())
    Select DateName( month , DateAdd( month , @MonthNumber , 0 ) - 1 )
    

    Explaination :

  22. ==============================

    22.

    select monthname(curdate());
    

    또는

    select monthname('2013-12-12');
    
  23. ==============================

    23.나를 위해 근무

    나를 위해 근무

    SELECT MONTHNAME(<fieldname>) AS "Month Name" FROM <tablename> WHERE <condition>
    
  24. ==============================

    24.이 같은 날짜를 얻을 수 있습니다. 예를 들면 : - 사용자 테이블

    이 같은 날짜를 얻을 수 있습니다. 예를 들면 : - 사용자 테이블

    id name created_at
    1  abc  2017-09-16
    2  xyz  2017-06-10
    

    이 같은 MONTHNAME를 얻을 수 있습니다

    select year(created_at), monthname(created_at) from users;
    

    산출

    +-----------+-------------------------------+
    | year(created_at) | monthname(created_at)  |
    +-----------+-------------------------------+
    |      2017        | september              |
    |      2017        | june                   |
    
  25. ==============================

    25.월 이름을 얻기 위해이 문을 사용 :

    월 이름을 얻기 위해이 문을 사용 :

    DECLARE @date datetime
    SET @date='2015/1/4 00:00:00'
    
    SELECT CAST(DATENAME(month,@date )  AS CHAR(3))AS 'Month Name'
    

    이렇게하면 짧은 월 이름을 제공 할 것입니다. 이처럼 : 등 1 월, 2 월, 3 월,

  26. ==============================

    26.다음은 문제를 해결하기 위해 다른 사람의 몇 가지 정보를 사용하여 내 솔루션입니다.

    다음은 문제를 해결하기 위해 다른 사람의 몇 가지 정보를 사용하여 내 솔루션입니다.

    datename(month,dateadd(month,datepart(month,Help_HelpMain.Ticket_Closed_Date),-1)) as monthname
    
  27. ==============================

    27.SQL 서버에는 시스템 정의 함수가 없습니다. 그러나 당신은 당신의 자신의 스칼라 함수 기능 - 사용자 정의 만들 수 있습니다. Programmability-> Functions-> 스칼라 반환 기능 : 당신은 당신의 데이터베이스 개체 탐색기에서 스칼라 함수를 찾을 것입니다. 다음, 나는 그것을 모두 함께 가지고 테이블 변수를 사용합니다.

    SQL 서버에는 시스템 정의 함수가 없습니다. 그러나 당신은 당신의 자신의 스칼라 함수 기능 - 사용자 정의 만들 수 있습니다. Programmability-> Functions-> 스칼라 반환 기능 : 당신은 당신의 데이터베이스 개체 탐색기에서 스칼라 함수를 찾을 것입니다. 다음, 나는 그것을 모두 함께 가지고 테이블 변수를 사용합니다.

    --Create the user-defined function
    CREATE FUNCTION getmonth (@num int)
    RETURNS varchar(9) --since 'September' is the longest string, length 9
    AS
    BEGIN
    
    DECLARE @intMonth Table (num int PRIMARY KEY IDENTITY(1,1), month varchar(9))
    
    INSERT INTO @intMonth VALUES ('January'), ('February'), ('March'), ('April'), ('May')
                               , ('June'), ('July'), ('August') ,('September'), ('October')
                               , ('November'), ('December')
    
    RETURN (SELECT I.month
            FROM @intMonth I
            WHERE I.num = @num)
    END
    GO
    
    --Use the function for various months
    SELECT dbo.getmonth(4) AS [Month]
    SELECT dbo.getmonth(5) AS [Month]
    SELECT dbo.getmonth(6) AS [Month]
    
  28. ==============================

    28.당신은 달 생성하려면이 같은 함수를 생성 할 수 TABLE_NAME FROM 월 같은 SELECT dbo.fn_GetMonthFromDate (date_column) / ****** 대상 : UserDefinedFunction [DBO] [fn_GetMonthFromDate] 스크립트 날짜 :. 2018년 11월 16일 오전 10시 26분 33초 ****** / SET ANSI_NULLS ON 가다 SET QUOTED_IDENTIFIER ON 가다 FUNCTION을 작성 [DBO]. fn_GetMonthFromDate] (@date 날짜) RETURNS의 VARCHAR (50) 같이 BEGIN     DECLARE의 @monthPart의 INT

    당신은 달 생성하려면이 같은 함수를 생성 할 수 TABLE_NAME FROM 월 같은 SELECT dbo.fn_GetMonthFromDate (date_column) / ****** 대상 : UserDefinedFunction [DBO] [fn_GetMonthFromDate] 스크립트 날짜 :. 2018년 11월 16일 오전 10시 26분 33초 ****** / SET ANSI_NULLS ON 가다 SET QUOTED_IDENTIFIER ON 가다 FUNCTION을 작성 [DBO]. fn_GetMonthFromDate] (@date 날짜) RETURNS의 VARCHAR (50) 같이 BEGIN     DECLARE의 @monthPart의 INT

  29. ==============================

    29.가장 쉬운 방법은 함수 MONTHNAME (your_date)를 호출하는 것입니다. your_date는 정적 값 또는 테이블의 필드 중 하나의 값이 될 수 있습니다.

    가장 쉬운 방법은 함수 MONTHNAME (your_date)를 호출하는 것입니다. your_date는 정적 값 또는 테이블의 필드 중 하나의 값이 될 수 있습니다.

  30. ==============================

    30.SELECT MONTHNAME (CONCAT ( '1970 -'[INT 브로 달, '- 1'))

    SELECT MONTHNAME (CONCAT ( '1970 -'[INT 브로 달, '- 1'))

    예 - SELECT MONTHNAME (CONCAT ( '1970 -', 4 '- 01))

    답변 - 4월

  31. from https://stackoverflow.com/questions/185520/convert-month-number-to-month-name-function-in-sql by cc-by-sa and MIT license