Zeichen am Ende eines Datensatzes löschen

Werbung:
Alles MS SQL Noobs außer ukulele :)

Mein Testcode:
Code:
WITH tabelle AS (
    SELECT    'Bezeichnung.................Artikel
Abmessungen................1 x 1 x 1
-------------------------------------------' AS spalte
    )
SELECT    left(spalte,len(spalte)-charindex(CHAR(13),reverse(spalte))),
        *
FROM    tabelle
WHERE   spalte LIKE '%' + CHAR(13) + CHAR(10) + '----%-'
Ein Select wie Oben (ohne das WITH ( ) und mit richtigen Tabellen-/Spaltennamen) sollte alle betroffenen Zeilen hoffentlich richtig ausgeben. Mit:
Code:
UPDATE    tabelle
SET        spalte = left(spalte,len(spalte)-charindex(CHAR(13),reverse(spalte)))
WHERE    spalte LIKE '%' + CHAR(13) + CHAR(10) + '----%-'
Dürfte sich das ganze bereinigen lassen. Der Nachteil an der Lösung ist es könnte immernoch falsche Treffer geben wenn irgendjemand mal ---- toller Text - oder so hin geschrieben hat. Das halte ich aber für unwarscheinlich.

Alternativ könnte man auch einen anderen Weg beschreiten:
Code:
WHILE    tabelle LIKE '%--%'
BEGIN
    UPDATE    tabelle
    SET        spalte = replace(spalte,'--','-')
    WHERE    spalte LIKE '%--%'
END

UPDATE    tabelle
SET        spalte = left(spalte,len(spalte)-2)
WHERE    spalte LIKE '%' + CHAR(13) + CHAR(10)

UPDATE    tabelle
SET        spalte = left(spalte,len(spalte)-1)
WHERE    spalte LIKE '%' + CHAR(10)

UPDATE    tabelle
SET        spalte = left(spalte,len(spalte)-1)
WHERE    spalte LIKE '%' + CHAR(13)
 
Vielen Dank! Aber irgendwas geht noch nicht mit diesem SQL:
Code:
SELECT    left(note.note,len(note.note)-charindex(CHAR(13),reverse(note.note))),
        *
FROM    note
WHERE   note.note LIKE '%' + CHAR(13) + CHAR(10) + '----%-'
and note.relates_to='spare_part' and note.type ='2'
kommt leider kein Ergebnis...

Code:
/* Affected rows: 0  Gefundene Zeilen: 0  Warnungen: 0  Dauer von 1 query: 1,046 sec. */
 
Werbung:
WOW!!! Vielen Dank!!! Damit gehts :)
Code:
SELECT    left(note.note,len(note.note)-charindex(CHAR(10),reverse(note.note))),note.note
FROM    note
WHERE   note.note LIKE '%' + CHAR(10) + '----%-'
and note.relates_to='spare_part' and note.type ='2'

[EDIT] 16.377 fachen Dank :)
 
Zuletzt bearbeitet:
Zurück
Oben