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 :

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...