gpt4 book ai didi

sql - SQL Server 2014 上的 IIF 'Incorrect syntax near' 错误

转载 作者:行者123 更新时间:2023-12-02 08:48:50 25 4
gpt4 key购买 nike

我正在尝试使用此脚本按月进行日期控制

DECLARE @Date DATETIME = '2015-07-31';
DECLARE @MonthCount INT = 3;
DECLARE @controlDate DATETIME = '2015-04-28';

SELECT
MONTH(@controlDate),
MONTH(DATEADD(MONTH, -@MonthCount, @Date)),
IIF(MONTH(@controlDate) > MONTH(DATEADD(MONTH, -@MonthCount, @Date)),'OK','No') as isOK

但我收到此语法错误:

Msg 102, Level 15, State 1, Line 8 Incorrect syntax near '>'

enter image description here

编辑:当我尝试 if 它正在工作时:

DECLARE @Date DATETIME = '2015-07-31';
DECLARE @MonthCount INT = 3;
DECLARE @controlDate DATETIME = '2015-04-28';

if(MONTH(@controlDate) > MONTH(DATEADD(MONTH, -@MonthCount, @Date)))
print 'OK'
else
print 'No'

我做错了什么还是这是一个错误?

最佳答案

当您运行的 SQL Server 版本不正确,或者数据库的兼容性级别设置不充分时,就会发生这种情况。

要检查兼容性级别:

select compatibility_level 
from sys.databases
where name = '<database name>'

要更改兼容性级别:

alter database <database-name> 
set compatibility level = 110 -- SQL Server 2012

兼容性级别列表:https://msdn.microsoft.com/en-us/library/bb510680.aspx

关于sql - SQL Server 2014 上的 IIF 'Incorrect syntax near' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31649588/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com