Wie erstelle ich eine SQL Server-Funktion int zurückgeben?

Ich versuche zum erstellen einer SQL-Funktion, die testet, ob ein parameter beginnt mit einem bestimmten Begriff oder enthält der Begriff, aber nicht mit Ihr.

Grundsätzlich, wenn der parameter beginnt mit dem Begriff, die Funktion gibt eine 0 zurück. Ansonsten gibt es eine 1.

Dies ist der Knochen von der Funktion, die ich habe, die ich versuche anzupassen, um eine weitere Funktion die ich gefunden habe:

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
  • Sieht aus wie Sie versuchen, zurück BIT (boolean) nicht INT. Allerdings gibt es einen 3. Zustand Sie sind derzeit nicht Umgang; nicht anzufangen und nicht enthalten searchTerm.
InformationsquelleAutor DaveDev | 2011-06-07
Schreibe einen Kommentar