代码之家  ›  专栏  ›  技术社区  ›  gts

将DateTime转换为nvarchar,仅需月份和年份

  •  3
  • gts  · 技术社区  · 17 年前

    如何将datetime值转换为nvarchar并将其格式化为“月,年”,例如2009年10月1日的值应转换为“2009年10月”

    5 回复  |  直到 17 年前
        1
  •  5
  •   KM.    17 年前

    select CONVERT(nvarchar(50),   DATENAME(m, getdate()) 
                                   + ', ' 
                                   + DATENAME(yyyy, getdate())
                  )
    

    --------------------------------------------------
    October, 2009
    
    (1 row(s) affected)
    
        2
  •  1
  •   Adriaan Stander    17 年前

    试试这个

    DECLARE @DateTime DATETIME
    
    SET @DateTime = '01 Oct 2009'
    
    SELECT @DateTime
    
    SELECT DATENAME(mm, @DateTime) + ', ' + CAST(DATEPART(yy, @DateTime) AS VARCHAR(4))
    
        3
  •  0
  •   Andrew    17 年前

    一种方法是使用datename以名称格式提取所需的片段,因此:

    选择Convert(nvarchar,datename(m,getdate())+N','+Convert(nvarchar,datename

    并将getdate()替换为日期变量/字段。

        4
  •  0
  •   Karmic Coder    17 年前

    DateName函数将提供所需的格式:

    DATENAME(m, date) + ', ' + DATENAME(yyyy, date)
    

    可以通过cast函数转换为特定大小的nvarchar:

    CAST(value AS nvarchar[30])
    
        5
  •  0
  •   Himadri    17 年前

    请尝试以下查询:

    Select case  Convert(int, day(getdate())) when 1 then '1st' when 2 then '2nd'
     when 3 then '3rd' else Convert(varchar, day(getdate()))+'th' end +' '+ Convert(varchar, Datename(m,getdate()))+' ' +Convert(varchar, Datename(yy,getdate()))  as Date
    

    你可以替换 任何其他日期。

    请检查它是否有用。

    推荐文章