First of all, I'm just starting with SQL SERVER
and I'm creating a function to be able to change the name of the days from English to Spanish. For which I have created the following function:
CREATE FUNCTION dbo.DIA_ESP(@DIAS VARCHAR)
RETURNS VARCHAR(50)
AS
BEGIN
DECLARE @DIA_ESPA VARCHAR
SELECT @DIA_ESPA =
CASE @DIAS
WHEN 'MONDAY' THEN 'LUNES' WHEN 'TUESDAY' THEN 'MARTES' WHEN 'WEDNESDAY' THEN 'MIÉRCOLES'
WHEN 'THURSDAY' THEN 'JUEVES' WHEN 'FRIDAY' THEN 'VIERNES' WHEN 'SATURDAY' THEN 'SÁBADO'
WHEN 'SUNDAY' THEN 'DOMINGO' ELSE NULL END
RETURN @DIA_ESPA
END;
But when evaluating it I get an error.
dbo.DIA_ESP('SUNDAY');
# Message
# Msg 102, Level 15, State 1, Line 246
# Incorrect syntax near 'SUNDAY'.
Since I'm just starting out I don't realize where my mistake is. Could you please help me so I can correct my function.
Add the length of
varchar
in the function definition: