Ich habe eine Tabelle mit Daten. In dieser Tabelle befindet sich eine Spalte mit dem Namen "TypeTag", die entweder eine 11-stellige Nummer oder eine 11-stellige Nummer "_" gefolgt von 3 weiteren Ziffern sein kann. Bedeutung: 'XXXXXXXXXXX' ODER 'XXXXXXXXXXX_XXX'. nurVerwenden von "LIKE" in "SELECT CASE" funktioniert nicht - mysql
Ich brauche den ersten Teil - so schrieb ich eine Abfrage:
SELECT
(CASE
WHEN TypeTag LIKE '%_%' THEN LEFT(TypeTag, LENGTH(TypeTag) - 4)
ELSE TypeTag
END)
FROM `DailyReport`
WHERE DATE>='2016-07-01'
Das Problem ist, dass alle Werte ohne ihre letzten vier Zeichen zurückkehren, scheint nicht der Fall zu arbeiten (oder vielleicht die LIKE funktioniert nicht), weil alle Datensätze in das erste "WHEN" und nicht in "ELSE" gehen.
Zum Beispiel, wenn meine ursprüngliche Datensatz ist:
56329856721
56329856722_502
56329856723
56329856724
56329856725_633
56329856726
Dann ist die Antwort, die ich bekommen ist:
5632985
56329856722
5632985
5632985
56329856725
5632985
Ich verwende MySQL (SQLyog speziell). Weiß jemand, was mit meiner Frage nicht stimmt? oder wie schreibe ich die Bedingung so, dass ich das gewünschte Ergebnis bekomme?
Danke euch allen !!
Ich verstehe die Notwendigkeit für die Fallaussage überhaupt nicht hier. Was stimmt nicht mit Auswahl links (TypeTag, 11) von ...? –