0

SQLサーバーのSQLクエリでユーザー定義関数を呼び出すことができません。

私の質問は

SELECT Empnum(delimeter_test) as del FROM FNSPLIT_TEST WHERE Len(delimeter_test) >1

そして私の機能は

ALTER FUNCTION [dbo].[Empnum] (@RAWDATA NVARCHAR(300))
RETURNS VARCHAR(30)
AS
BEGIN 
DECLARE @TEMP1 NVARCHAR(300)
--DECLARE @TEMP2
IF(CHARINDEX('Disabled',@RAWDATA,1)) <> 0
BEGIN
    DECLARE SPLITTEXT CURSOR FOR 
    SELECT [item] FROM fnSplit(@RAWDATA,',')
--  SET @TEMP1=dbo.fnSplit(@RAWDATA,',')
    OPEN SPLITTEXT
    FETCH SPLITTEXT INTO @TEMP1
    CLOSE SPLITTEXT
    DEALLOCATE SPLITTEXT
--  INSERT INTO @EMPNUM1 SELECT @TEMP1
--  SET @TEMP1=dbo.fnSplit(@RAWDATA,',')
END
RETURN @TEMP1
END
4

1 に答える 1

1

何らかの理由で、 UDFにはスキーマ名が必要です。

SELECT dbo.Empnum(delimeter_test) as del FROM FNSPLIT_TEST WHERE Len(delimeter_test) > 1

また、カーソルなしでテキスト文字列を連結する方法は次のとおりです。

多くの行を 1 つのテキスト文字列に連結しますか?

于 2013-01-24T06:59:24.877 に答える