格式化函数返回分钟而不是几个月?

JaM*_*eEL 1 sql-server sql-server-2012

在探索新功能时,FORMAT我遇到了以下问题,想知道是否有其他人遇到过类似的问题并找到了解决方案,或者它是否是一个错误?

SELECT FORMAT(GETDATE(),'mm/dd/yyyy','en-US');
SELECT GETDATE();
Run Code Online (Sandbox Code Playgroud)

输出:

  1. 02/02/2013
  2. 2013-06-02 12:02:54.067

Mar*_*ith 7

格式函数的参数是一个.NET格式字符串,其中mm是分MM是几个月。你指定了分钟,所以分钟就是你得到的。

标准日期和时间格式字符串中有示例格式字符串。作为替代方案,MM/dd/yyyy您还可以使用 just dwhich 是短日期格式说明符(在链接页面上有详细说明)。