2010-12-12 18 views

Respuesta

3

Una función agregada para SQL Server que produce una lista de valores separados por comas.

Title 
----------------- 
The Hobbit 
The Two Towers  --> The Hobbit, The Two Towers, Leaf by Niggle 
Leaf by Niggle 

Aquí está mi aplicación: A SQL CLR user-defined aggregate - notes on creating and debugging

+0

Muy útil. Yo también tengo esto Lo llamé a CSV, pero realmente no me gusta ese nombre. ¿Cómo llamaste el tuyo? Alguna mejor idea? –

+0

@PAUL Mansour Llamé a la mía 'Concat' (abreviatura de * concatenate *), pero tampoco es un nombre perfecto. –

+1

SQL Server tiene un rendimiento interesante de concatenación de cadenas. Aquí hay algunas pruebas de rendimiento entre SQL 'select @var = @var + column' y un agregado definido por el usuario usando .NET 'StringBuilder': [graphs] (http://imgur.com/a/MRcha) Basado en SQL Concat se vuelve dramáticamente más lento una vez que la longitud total de la cuerda supera los 500k caracteres. – geofftnz

1

Sí. En Oracle, he implementado un tipo de group_concat porque no está disponible en Oracle. He hecho un par de versiones diferentes que hacen un simple concat con cadenas de delimitación de comas. Otro hace lo mismo, solo ordenado. Y hay otro que no usa una coma, sino un carácter especial para que los resultados se puedan procesar más fácilmente cuando los valores mismos también pueden contener comas.

1
  1. valor promedio ponderado de

  2. PercentAcross - Esta es la suma de X, donde una condición es verdadera, dividido por la suma de X.

Cuestiones relacionadas