Sql server SQL Server错误?

Sql server SQL Server错误?,sql-server,sql-server-2000,Sql Server,Sql Server 2000,我正在编写一个函数来处理一些CSV数据。这是我到目前为止写的 CREATE FUNCTION dbo.FGetCommaSeperatedValues(@csv as text) RETURNS @tblIds TABLE(id int,csvlength int) AS BEGIN DECLARE @csvlength AS int --SET @csvlength = datalength(@csv); SET @csvlength = 7685 DECLA

我正在编写一个函数来处理一些CSV数据。这是我到目前为止写的

CREATE FUNCTION dbo.FGetCommaSeperatedValues(@csv as text)
RETURNS @tblIds TABLE(id int,csvlength int) 
AS
BEGIN
    DECLARE @csvlength AS int
    --SET @csvlength = datalength(@csv);
    SET @csvlength = 7685
    DECLARE @currentIndex AS int
    SET @currentIndex = 0
        WHILE @currentIndex < @csvlength
            BEGIN
                --INSERT INTO @tblIds SELECT @currentIndex,@csvlength
                INSERT INTO @tblIds (id,csvlength) values (@currentIndex,@csvlength)
                SET @currentIndex = @currentIndex+1
            END
    RETURN
END
返回的表没有显示我期望的结果

在第3624行左右之前,一切正常(如预期,id列增加1) 然后这些值不稳定地增加

我的同事在SQLServer2008中测试了这段代码,一切正常。这似乎与SQL server 2000隔离


有人知道这个错误和/或它的解决方案吗?

要在SQL Server中对顺序进行排序,您必须使用order BY子句


你会惊讶于有多少人被这件事抓住了!
SELECT * FROM FGetCommaSeperatedValues('')