Teil eines Dateinamens entfernen

Henri

Benutzer
Beiträge
16
Ich versuche, einen Teil eines Dateinamens nach einem bestimmten Zeichen zu entfernen.
die Tabellename lautet [Beschreibung] die Spalte [displayname]

SELECT [displayname]
FROM [dbo].[Beschreibung]

Aktuelle Dateinamen:

KM_003__Rheihe 4 ~ DEL ~ 389948.pdf
KM_004__Reite 2 und Reite 3 ~ DEL ~ 391098.pdf
KM_008__Grundriss ~ DEL ~ 391042.pdf
KM_006__Breite~DEL~398646.zip
KM_005_Hoch~DEL~356477.dwg

Was ich will, dass es ist:

KM_003__Rheihe 4.pdf
KM_004__Reite 2 und Reite 3.pdf
KM_008__Grundriss.pdf
KM_006__Breite
KM_005_Hoch

Jede Hilfe / Hinweise wäre sehr dankbar
 
Werbung:
Oder vielleicht sowas wie
Code:
SELECT (CASE displayname LIKE '%~%' THEN rtrim(left(displayname,charindex('~',displayname)-1)) ELSE displayname END) AS displayname FROM tabelle
 
Sry
Code:
SELECT (CASE WHEN displayname LIKE '%~%' THEN rtrim(left(displayname,charindex('~',displayname)-1)) ELSE displayname END) AS displayname FROM tabelle
 
Hallo ukulele,
es funktioniert, aber er schneidet auch die Dateitype mit,
dh. wenn wir es haben
km_05a_binder678~DEL~1914.pdf
schneidet und gibt
km_05a_binder678
kannst du bitte noch was .
Danke in Voraus
 
das heisst gibt kein kluger Mensch um mir dabei zu helfen, diese Anfrage anzupassen, damit die Dateitype nicht geschnitten werden

SELECT (CASE WHEN displayname LIKE '%~%' THEN rtrim(left(displayname,charindex('~',displayname)-1)) ELSE displayname END) AS displayname FROM tabelle
 
Ne das heißt das ich im Moment aus zeitgründen selten hier vorbei schaue.
Code:
SELECT (CASE WHEN displayname LIKE '%~%' AND displayname LIKE '%.%' THEN rtrim(left(displayname,charindex('~',displayname)-1)) + right(displayname,charindex('.',reverse(displayname))) ELSE displayname END) AS displayname FROM tabelle
Kann aber Blödsinn ergeben wenn z.B. ~ irgendwann mal hinter dem Punkt steht oder so. Außerdem müsste es sich um VARCHAR handeln, bei CHAR etc. kann das auch daneben gehen.
 
Werbung:
Zurück
Oben