Comment puis-je créer une fonction SQL Server pour retourner un int?

Je suis en train de créer une Fonction SQL qui teste si un paramètre commence avec un certain terme ou contient le terme, mais il ne démarre pas avec elle.

En gros, si le paramètre commence avec le terme, la fonction renvoie 0. Sinon il renvoie un 1.

C'est l'os de la fonction que j'ai, que je suis en train d'adapter à partir d'une autre fonction que j'ai trouvé:

CREATE FUNCTION [dbo].[fnGetRelevance] 
(   
    @fieldName nvarchar(50),
    @searchTerm nvarchar(50)
)

RETURNS @value int -- this is showing an error, it seems to expect table but all I want is an int
(
    -- does this need to be here? If so, what should it be?
)

AS

BEGIN

    declare @field TABLE(Data nvarchar(50))

    insert into @field
        select Data from @fieldName

    if (Data like @searchTerm + '%') -- starts with
    begin       
        return 0
    end
    else if (Data like '%' + @searchTerm + '%' and Data not like @searchTerm + '%') -- contains, but doesn't start with 
    begin       
        return 1
    end

END

GO
On dirait que vous essayez de revenir BIT (boolean) pas INT. Mais il y a une 3e état, vous n'êtes pas actuellement de manutention; ne marche pas dès le départ, et ne pas contenir de searchTerm.

OriginalL'auteur DaveDev | 2011-06-07