![]() |
Datenbank: MSSQL • Version: 2005 • Zugriff über: Delphi
SQL alle sonderzeichen rechts entfernen
Hallo,
wie kann man per SQL alle Zeichen am Ende eines strings entfernen die keine Buchstaben sind? Aus "Abc. däö,.#" soll "Abc. däö" werden. Irgendwas wie RTRIM(not[a..z, A..Z, ä..ü], feldname). MSSQL Serve 2005 danke Udo |
AW: SQL alle sonderzeichen rechts entfernen
Was willst du eigentlich erreichen?
|
AW: SQL alle sonderzeichen rechts entfernen
Zitat:
Das muss aber in der DB als "Bereinigung" passieren weil es sonst zu viele Stellen betrifft. Das während der Eingabe verhindern geht nicht mehr, zu spät.. und jeden DS einzeln bearbeiten dauert viel zu lange. |
AW: SQL alle sonderzeichen rechts entfernen
Also du willst eine DB-Bereinigung laufen lassen als einmaligen Lauf.
oder sollen die Daten unverändert in der DB bleiben und du brauchst sie nur korrigiert als Abfrage/für einen Join? |
AW: SQL alle sonderzeichen rechts entfernen
Zitat:
Zitat:
Wenn du weißt welche Sonderzeichen auftauchen, könnte man das so lösen
Code:
(ohne gewähr)
select satz from Tabelle where satz like '*Ü';
select 'update tabelle set satz='||substr(satz,1,pos('Ü'))||' where satzid='||satzid||';' Mit einer SP und Regex (fals Dein Server das kann) wäre es wohl eleganter. Gruß K-H |
AW: SQL alle sonderzeichen rechts entfernen
Ok Danke.
Ja das soll einmalig laufen und die Daten in der DB ändern. Mit like kann man das etwas eingrenzen. Ich hatte gehofft dass es sowas gibt:
Code:
wobei die hier angegebenen Zeichen einzeln gesucht werden.
update table set feldname = RTRIM(',.#' feldname) where...
update table set feldname = REPLACE_RIGHT(feldname, ',.#', '') where... |
AW: SQL alle sonderzeichen rechts entfernen
Wieso nicht einfach so?
Code:
Ich hab da jetzt aber nicht alle Sonderzeichen drin, also selbst mal nachdenken ;-)
create function dbo.RightTrimSpecial (@Text varchar(max))
returns varchar(max) as begin declare @I int = DataLength(@Text) while charindex(substring(@Text,@I,1),'!"$%&/()=?#+*') <>0 set @I = @i-1 return substring (@text,1,@I) end update MyTable set FckedupData = dbo.RightTrimSpecial(FckedupData) |
AW: SQL alle sonderzeichen rechts entfernen
Zitat:
Danke! Funtioniert perfekt. Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz