如何返回1,当年7月,当前日期为7月1日当年和返回7月1日,前一年在当前日期后之前是7月1日当前年份?SQL,基于一年的时间返回一个标准的日期
我在查询的书面这一点,但我不断收到此错误:
"Implicit conversion from data type datetime to int is not allowed. Use the CONVERT function to run this query."
这里我的SQL查询:
CASE WHEN GETDATE() >=
(DATETIME2FROMPARTS (year(GETDATE()), 07, 01, 0, 0, 0, 0, 0))
THEN (DATETIME2FROMPARTS (DATEADD(year, 0, GETDATE()), 07, 01, 0, 0, 0, 0, 0))
ELSE (DATETIME2FROMPARTS (DATEADD(year, -1, GETDATE()), 07, 01, 0, 0, 0, 0, 0))
END AS EntryDate,
我不知道我理解。你说过你想在两种情况下都返回7月1日,那么为什么需要两种情况? – AdamMc331 2014-10-08 16:59:29
对不起,我错误地用克拉格式化了我的问题 – 2014-10-08 17:02:06
我现在明白了。我现在没有SQL运行(所以我不能测试这个,我不会回答你的问题),但也许你可以找到类似的东西[这里](http://blog.sqlauthority.com/2013/ 04/09/SQL服务器修复错误-217-隐式转换从 - 数据 - 类型,日期时间至INT-是-不被允许使用最转换函数到运行这 - 查询/)。 – AdamMc331 2014-10-08 17:05:56