Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo,

kann mir jemand bitte helfen !! ( MSSQL 2005 )

ich möchte mit einem Sql Befehl ein Feld ab einem besteimmten Zeichen alles rechts davon löschen.

zBsp:

12345-6654

332-54

66-6

Ergebnis:

12345

332

66

danke im Vorraus.

Gruß

Fatih

Geschrieben (bearbeitet)

Eine Möglichkeit:

Beispiel:


Select Substring(StringCol,0,COALESCE(CHARINDEX('|'),LEN(StringCol))) as 'Ergebnis' From table1

Erklärung:

Du bildest einen Substring vom Wert der ZielColum mit dem Startindex 0 und als länge lässt du den Indexwert des zu suchenden Chars angeben.

Wenn der Character nicht gefunden werden konnte wird stattdessen die länge des ursprünglichen String als länge des Substrings hergenommen.

Beschreibung aller Befehle:

Substring

COALESCE

CHARINDEX

LEN

lg

Gateway

Deine Lösung dürfte weitaus kürzer sein ;)

Bearbeitet von Gateway_man
Geschrieben
Eine Möglichkeit:

Beispiel:


Select Substring(StringCol,0,COALESCE(CHARINDEX('|'),LEN(StringCol))) as 'Ergebnis' From table1

Erklärung: Du bildest einen Substring vom Wert der ZielColum mit dem Startindex 0 und als länge lässt du den Indexwert des zu suchenden Chars angeben. Wenn der Character nicht gefunden werden konnte wird stattdessen die länge des ursprünglichen String als länge des Substrings hergenommen.

UPDATE a

SET a.feld = LEFT (a.feld, CHARINDEX('-', a.feld) - 1)

FROM Tabelle a

WHERE a.feld like '%-%'

Alternativ, WHERE CHARINDEX('-', a.feld) > 0

Gruß

Sven

das wird nicht funktionieren. Zitat : "Wenn expression1 in expression2 nicht gefunden wird, gibt CHARINDEX 0 zurück." Coalesce gibt dir aber die erste Expresion die nicht NULL ist. Daher hast du hinterher ein LEFT(string,0) was in dem Update dann sehr ungut kommt wenn man das ausführt, und das geuschte Zeichen im String nicht vorkommt. Mein Vorschlag zu der Sache wäre :

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...