SQL Server上的YEARFRAC功能无法正常工作

时间:2013-11-17 17:56:10

标签: sql sql-server-2012

我很高兴发现您可以在MS SQL服务器(http://technet.microsoft.com/en-us/library/ee634405.aspx)中使用类似Excel的YEARFRAC功能,但由于某种原因,我收到一条错误消息:

  

'yearfrac'不是公认的内置函数名称

当我尝试运行查询时这是我的代码:

SELECT CUSTOMER_ID, PRODUCT_SKU, SUB_START_DATE, SUB_EXP_DATE,
  YEARFRAC(sub_start_date, sub_exp_date) AS START_TO_END FROM ...

为了记录,我已经仔细检查了日期是否采用了正确的日期时间格式,并且我尝试了两种不使用基础(如上所示),并使用可用的1-4个碱基。我还尝试删除列别名(START_TO_END)。这些都没有奏效。有任何想法吗?

1 个答案:

答案 0 :(得分:2)

不,这是在Analysis Services(特别是DAX)中,而不是在T-SQL中。页面上的标题并不能说明您所在的文档部分,但请查看左侧的目录...

enter image description here

很抱歉屏幕截图是双倍的,这是因为我的Retina屏幕给出的是144dpi而不是72dpi。

无论如何,您应该能够使用自己的UDF复制此功能,或者,如果您始终以特定方式计算,它甚至可以简单地进行内联。日历表可能会有所帮助。