SQL Server -Funktion zur Beseitigung replizierter Zeichen
-
23-09-2019 - |
Frage
Ich frage mich, ob es in SQL Server 2005 einen einfachen und effizienten Weg gibt, um replizierte Zeichen in einer Zeichenfolge zu beseitigen. Wie konvertieren
'ABBBCDEEFFFFG' to 'ABCDEFG'
Es ist wirklich scheiße, dass SQL Server über eine so schlechte String-Bibliothek und keine Regexp-Funktion herrscht ...
Keine korrekte Lösung
Andere Tipps
Sie können die in SQL Server 2005/2008 integrierte CLR -Funktionalität verwenden, um dies mit .NET -Code zu erstellen.
Das MSDN -Magazin schrieb darüber in ihren Februar 2007 Ausgabe.
Wenn dies keine akzeptable Lösung ist, hier Ist ein UDF, der das Gleiche tut, wohlgemerkt, es handelt sich um zwei Größenordnungen, die langsamer sind als die CLR -Lösung.
Ymmv. Dies scheint für Ihre Zeichenfolge oben zu funktionieren. Aber nicht 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 intern speichert Termine im UTC-Format. Ich denke, dass Ihr Problem damit zusammenhängt:
Die GetFieldVALUEOSTEXT-Methode erfordert, dass Datums- und Uhrzeitwerte sein im UTC-Format, während die meisten SharePoint-Foundation-Methoden zur Rücksendung Listendaten geben die Werte in Ortszeit zurück.Folglich wann Abfragen für Listendaten ausführen, müssen Sie Zeitwerte in umwandeln Erwarten Sie die erwarteten Ergebnisse.Um Elemente in UTC-Datum und Uhrzeit zurückzugeben, verwenden Sie ein SPQUERY-Objekt und setzen Sie die DATERInUtc-Eigenschaft auf TRUE generasacodicetagpre.
mehr sehen hier: http://msdn.microsoft.com/de-US / Bibliothek / MS442266.Aspx