Es hat also eine Weile gedauert, bis ich herausgefunden hatte, wie ich meine erste UDF erstellen konnte, aber nachdem ich es behoben hatte, dachte ich, meine nächste wäre ein Kinderspiel. Leider ist das nicht der Fall. Ich ziehe ein Feld (ORIG_CLAIM, float) und möchte diese Nummer kategorisieren. Hier ist mein Code:SQL - Verwenden von logischen Operatoren in einer UDF-Fallanweisung
CREATE FUNCTION [dbo].[fnOC_LEVEL](@ORIG_CLAIM float)
RETURNS nvarchar(255)
AS
BEGIN
DECLARE @result as varchar(255);
SELECT @result = case @ORIG_CLAIM
when < 1000 then 'A_Under 1000'
when >= 1000 and <= 4999.99 then 'B_1000-4999'
when >= 5000 and <= 7499.99 then 'C_5000-7499'
when >= 7500 and <= 9999.99 then 'D_7500-9999'
when >= 10000 and <= 14999.99 then 'E_10000-14999'
when >= 15000 and <= 19999.99 then 'F_15000-19999'
when >= 20000 then 'G_Over 20000'
END
RETURN @result
END
GO
Ich erhalte den Fehler "falsche Syntax nahe '<'". Kann jemand wee was ich falsch machen könnte?
dachte ich, mein Problem heraus. Es war nicht das Format der Nummer. Es war die Fallaussage selbst. 'SELECT @result = Fall wenn @ORIG_CLAIM <1000 DANN 'A_Under 1000'' – Niq6