मैं एक एसक्यूएल फ़ंक्शन बनाने की कोशिश कर रहा हूं जो परीक्षण करता है कि कोई पैरामीटर किसी निश्चित अवधि से शुरू होता है या इसमें शब्द होता है, लेकिन इसके साथ प्रारंभ नहीं होता है।मैं int को वापस करने के लिए SQL सर्वर फ़ंक्शन कैसे बना सकता हूं?
असल में, यदि पैरामीटर अवधि के साथ शुरू होता है, फ़ंक्शन एक 0. अन्यथा यह रिटर्न एक 1.
यह मेरे पास है कि समारोह की हड्डियों, जो मैं दूसरे से अनुकूल करने के लिए कोशिश कर रहा हूँ है समारोह मैंने पाया:
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
ऐसा लगता है आप वापस जाने के लिए 'BIT' (बुलियन) नहीं' INT' कोशिश कर रहे हैं की तरह है।यद्यपि एक तीसरा राज्य है जिसे आप वर्तमान में संभालने में नहीं हैं; शुरू नहीं होता है और इसमें 'searchTerm' नहीं होता है। – Jamiec