Pregunta

Me pregunto si hay una manera fácil y eficiente en SQL Server 2005 para eliminar los caracteres replicados en una cadena. Como convertir

'ABBBCDEEFFFFG' to 'ABCDEFG'

Realmente apesta que SQL Server tiene una biblioteca de cadenas tan pobre y no hay característica de regexp lista para usar ...

No hay solución correcta

Otros consejos

Puede usar la funcionalidad CLR integrada en SQL Server 2005/2008 para hacer esto mediante el código .NET.

La revista MSDN escribió sobre eso en su Febrero de 2007 tema.

Si esta no es una solución aceptable, aquí es un UDF que hará lo mismo, sí, esto es aproximadamente dos órdenes de magnitud más lento que la solución CLR.

Ymmv. Esto parece funcionar para su cadena anterior. Pero no ABBBCDEEBBBBG

DECLARE @Numbers TABLE (Num smallint NOT NULL PRIMARY KEY)

INSERT @Numbers (Num)
SELECT TOP 8000
    ROW_NUMBER() OVER (ORDER BY c1.NAME)
FROM
    sys.columns c1

DECLARE @STuff TABLE (Seq varchar(100) NOT NULL PRIMARY KEY)

INSERT @STuff (Seq) VALUES ('ABBBCDEEFFFFG') --works

SELECT
    Single
FROM
    (
    SELECT DISTINCT
        CAST(Single AS varchar(100))
    FROM
       @Numbers N
       CROSS APPLY 
       (SELECT Seq, SUBSTRING(Seq, Num, 1) AS Single FROM @Stuff) S
    WHERE
       Num <= LEN(Seq)
    FOR XML PATH ('')
    ) foo(Single)

SharePoint almacena internamente las fechas en formato UTC. Creo que su problema puede estar relacionado con esto:

El método de GetFieldvaluEastext requiere que los valores de fecha y hora sean en formato UTC, mientras que la mayoría de los métodos de fundación de SharePoint para regresar Lista de datos devuelve los valores en la hora local.En consecuencia, cuando Realización de consultas para los datos de la lista, debe convertir los valores de tiempo a Obtenga resultados esperados.Para devolver los artículos en la fecha y la hora UTC, use un Objeto de SpQuery y configura la propiedad DATESINUTC a VERDADERO

SPQuery query = new SPQuery();
query.DatesInUtc = true;
SPListItemCollection listItems = list.GetItems(query);

Ver más aquí: http://msdn.microsoft.com/en-US / Library / MS442266.ASPX

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top