如何从指定日期获得月份名称和年份?

时间:2018-02-20 11:28:25

标签: sql-server

如何从指定日期获取月份和年份的名称?

此查询获取月份的名称,但我希望输出像这样

constructor(private service: SmartTableService, private router: Router) {}

ngOnInit() {
  this.service.getEData().subscribe(k => {  
    k.map(c => {
      this.items.push(c);
      this.source.load(this.items);
    })
  });
}

有什么建议吗?

2 个答案:

答案 0 :(得分:4)

在SQL Server 2012及更高版本中,即在所有受支持的版本中,您可以使用FORMAT使用.NET格式字符串格式化值:

select format(getdate(),'MMMM, yyyy')

返回:

February, 2018

在早期版本中,您必须连接各个名称,例如:

SELECT DATENAME(MONTH, GETDATE()) + ', ' + DATENAME(YEAR,GETDATE())

获得:

February, 2018

更好的方法是在客户端 上格式化值,方法是设置报表或表单字段的格式字符串。客户端或报表创建者更容易知道用于显示日期的正确格式和区域设置。

您可以传递区域设置标识符以指定区域设置,例如:

select format(getdate(),'MMMM, yyyy','fr-FR')

将返回:

février, 2018

但这只应被视为一种解决方法。

答案 1 :(得分:0)

SELECT DATENAME(MONTH, GETDATE()) + ', ' + CAST(DATEPART(YEAR, GETDATE()) AS VARCHAR(4))