修复SQL Server中的“关键字'WHEN'附近语法错误”错误?
原因:该错误的原因是因为ELSE关键字放置在END关键字之后,导致语法错误。
解决方法:将ELSE关键字移动到END关键字之前即可解决该问题。
整理成一篇文章:
在SQL Server中,有时候我们会遇到类似于"Fix 'Incorrect syntax near the keyword 'WHEN'' error in SQL Server"的错误。这种错误通常是由于语法错误引起的。
例如,我们有以下的SQL查询语句:
SELECT BR, CID, TRNDATE, CASE WHEN TRNTYPE = '108' THEN -1 WHEN TRNTYPE = '114' THEN (TrnIntAmt - TrnTaxAmt)/100 else 1 * TrnAmt/100 END as TransactionAmount FROM T_TRNHIST
在这个查询语句中,我们使用了CASE语句来根据TRNTYPE的不同值计算TransactionAmount。然而,当我们尝试执行这个查询时,却遇到了"Fix 'Incorrect syntax near the keyword 'WHEN'' error in SQL Server"错误。
要解决这个错误,我们只需要将ELSE关键字移动到END关键字之前即可。修改后的查询语句如下所示:
SELECT BR, CID, TRNDATE, CASE WHEN TRNTYPE = '108' THEN -1 WHEN TRNTYPE = '114' THEN (TrnIntAmt - TrnTaxAmt)/100 ELSE 1 * TrnAmt/100 END as TransactionAmount FROM T_TRNHIST
通过以上修改,我们成功修复了"Fix 'Incorrect syntax near the keyword 'WHEN'' error in SQL Server"错误,并且可以正常执行查询语句了。
在SQL Server中,当遇到类似于"Fix 'Incorrect syntax near the keyword 'WHEN'' error in SQL Server"的错误时,通常是由于语法错误引起的。解决这种错误的方法是将关键字放置在正确的位置,例如将ELSE关键字移动到END关键字之前。