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

如何在T-SQL中转换为日期格式,如“2024年1月”?

  •  0
  • Java  · 技术社区  · 6 月前

    我正在尝试将日期时间转换为“”这样的格式 2024年1月 '.

    我能够通过以下方式将格式从日期时间转换为日期:

    Convert(date, [ProcessingDate]).
    

    我的结果是“2024-01-01”

    如何在T-SQL中将其转换为“2024年1月”?

    我尝试创建这种格式的原因是,我需要与T-SQL中的其他varchar/文本连接,以便在PowerBI表示层的下拉菜单中使用。

    例如 我正在尝试创建这样的下拉菜单:

    ...
    April 2014 
    
    May 2024
    
    Current = June 2014
    

    所以,我正在尝试连接“Current=”

    最下面的一个是我目前在PowerBI中的内容(2024年5月为最新/当前月份)。

    enter image description here

    1 回复  |  直到 6 月前
        1
  •  1
  •   Bill Stevens    6 月前

    如果你还没有找到答案,这其实相当容易。

    FORMAT(Convert(date, [ProcessingDate]), 'MMMMMMMMM yyyy');

    您可能最好希望删除SQL Server特定的语法,然后使用:

    FORMAT(CAST([ProcessingDate] as DATE), 'MMMMMMMMM yyyy');

    看看这个 stackoverflow article 发布关于 CAST vs CONVERT

    这是我能想到的最具体的答案。您可以看到,在格式说明符的单引号之间还可以很容易地指定无数其他常见的格式样式。我还建议使用完整的 FORMAT 函数参数,并添加类似的语言指示符:

    FORMAT(CAST([ProcessingDate] as DATE), 'MMMMMMMMM yyyy', 'en-US');