Función de servidor SQL para eliminar los caracteres replicados
-
23-09-2019 - |
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