1
此语法有什么问题?我该如何解决它?CASE语句在T-SQL函数中不适用于“NOT LIKE”条件
以下是错误:
Msg 156, Level 15, State 1, Procedure fnTestResultStringNEW, Line 16
Incorrect syntax near the keyword 'LIKE'.
Msg 102, Level 15, State 1, Procedure fnTestResultStringNEW, Line 40
Incorrect syntax near 'END'.
这里是T-SQL代码:
ALTER FUNCTION [dbo].[fnTestResultStringNEW]
(
@testId INT
)
RETURNS NVARCHAR(512)
AS
BEGIN
DECLARE @totalString NVARCHAR(512)
SET @totalString = ''
SELECT @totalString =
COALESCE(
CASE substance.sortorder NOT LIKE '%.0' THEN
CASE WHEN @totalString = '' THEN
testresult.result
ELSE
@totalString + ', ' + testresult.result
END
ELSE
CASE WHEN @totalString = '' THEN
testresult.result
ELSE
@totalString
END
END
, '')
FROM [dbo].[testresult_audit] AS testresult
JOIN [dbo].[test_testresult]
ON testresult.testresultid = test_testresult.testresultid
AND testresult.versionnumber = test_testresult.testresultversionnumber
LEFT OUTER JOIN substance ON substance.substanceid = testresult.substanceid
WHERE
test_testresult.testid = @testid
ORDER BY substance.sortorder, testresult.result
RETURN @totalString
END
这工作:
哦哥哥笑..感谢 – MacGyver 2012-03-16 16:31:01
容易。有时它只是一个新的眼睛。 :) – markblandford 2012-03-16 16:32:19