Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server 2000相当于组_CONCAT函数_Sql_Sql Server_Tsql_Sql Server 2000_String Aggregation - Fatal编程技术网

SQL Server 2000相当于组_CONCAT函数

SQL Server 2000相当于组_CONCAT函数,sql,sql-server,tsql,sql-server-2000,string-aggregation,Sql,Sql Server,Tsql,Sql Server 2000,String Aggregation,我试图在SQL Server 2000中使用GROUP\u CONCAT函数,但它返回一个错误: “group_concat”不是可识别的函数名 因此,我想SQL Server 2000中还有另一个用于group\u concat的函数?您能告诉我它是什么吗?不幸的是,由于您使用的是SQL Server 2000,因此无法使用for XML PATH将值连接在一起 假设我们有以下样本数据: CREATE TABLE yourtable ([id] int, [name] varchar(4));

我试图在SQL Server 2000中使用
GROUP\u CONCAT
函数,但它返回一个错误:

“group_concat”不是可识别的函数名


因此,我想SQL Server 2000中还有另一个用于
group\u concat
的函数?您能告诉我它是什么吗?

不幸的是,由于您使用的是SQL Server 2000,因此无法使用
for XML PATH
将值连接在一起

假设我们有以下样本数据:

CREATE TABLE yourtable ([id] int, [name] varchar(4));

INSERT INTO yourtable ([id], [name])
VALUES (1, 'John'), (1, 'Jim'),
    (2, 'Bob'), (3, 'Jane'), (3, 'Bill'), (4, 'Test'), (4, '');
一起生成列表的一种方法是。示例函数为:

CREATE FUNCTION dbo.List 
( 
    @id int
) 
RETURNS VARCHAR(8000) 
AS 
BEGIN 
    DECLARE @r VARCHAR(8000) 
      SELECT @r = ISNULL(@r+', ', '') + name
      FROM dbo.yourtable 
      WHERE id = @id 
        and Name > ''  -- add filter if you think you will have empty strings
    RETURN @r 
END 
然后,在查询数据时,将向函数传递一个值,以将数据连接到一行:

select distinct id, dbo.list(id) Names
from yourtable;
请参阅。这将为您提供一个结果:

| ID |      NAMES |
-------------------
|  1 |  John, Jim |
|  2 |        Bob |
|  3 | Jane, Bill |
|  4 |       Test |

您是说mysql在“您的SQL”中,因为这不是该标记的真正用途。您应该为Name>''添加另一个where子句条件。这将保护您不受Null和空字符串的影响,这将导致输出错误或非常奇怪。