问题
I am using this script below to create a function but I get an error in the messages log:
CREATE FUNCTION [dbo].[MyFunction] () RETURNS BIT AS RETURN CAST(1 AS BIT)
Msg 102, Level 15, State 31, Procedure MyFunction, Line 1 Incorrect syntax near 'RETURN'.
It works when I change this to return a table:
CREATE FUNCTION [dbo].[MyFunction] () RETURNS TABLE AS RETURN (SELECT 1 [1])
so I am not sure what is wrong. Why does this work for a table but not a bit?
回答1:
Change your syntax to include a begin and end like so:
CREATE FUNCTION [dbo].[MyFunction]() RETURNS bit AS begin RETURN CAST(1 AS bit) end
来源:https://stackoverflow.com/questions/17028961/how-do-i-create-a-sql-function-to-return-a-bit