2017-09-15 1 views
0

Ich brauche eine Abfrage, die nur ausgeführt wird, wenn eine Zeichenfolge ein bestimmtes Zeichen enthält, wählen Sie dann alles danach aus, wenn es tut, und legen Sie es in einer Variablen fest.MySQL Wählen Sie alles Zeichen rechts, wenn es existiert

Zum Beispiel, wenn ich 2 Strings habe 101| 999 und 101, muß ich in der Lage sein, zu sagen, wenn die Zeichenfolge enthält | dann die drei Zahlen, nachdem sie auswählen und als Variable @ID gesetzt.

Wie kann ich das erreichen?

+0

Aktien Ihre korrekte Eingabe Ausgabeformat helfen. Es wird helfen, Ihre Anfrage klar zu verstehen! – KMS

+0

@KMS was meinst du leid? –

+0

teilen Sie Ihre erwartete Eingabe und Ausgabe – KMS

Antwort

0
select substring(column_name, INSTR(column_name, '|')+1) into variable_name from table_name where column_name like '%|%' 
0

Versuchen Sie den folgenden Code,

SELECT SUBSTRING_INDEX(<fieldname>,'|', -1) FROM `<table name>` WHERE <fieldname> LIKE "%|%"; 

Kann es

+0

Ich bin nicht sicher, dass das funktioniert, ich muss es in einer if-Anweisung ausführen können. Der Code kann 500 Mal ausgeführt werden, und für jedes Mal, wenn er ausgeführt wird, muss er prüfen, ob er eine Pipe enthält oder nicht, und wenn dies der Fall ist, setze die Variable auf die 3 Zahlen danach. Wenn nicht, tue etwas anderes –

+0

oh..once du versuchst es mit diesem Code, wenn du willst, und wenn irgendwelche PBM hier teilen – KMS

Verwandte Themen