MySQL Zuweisung von unterschiedlich langen Einträgen mit Hilfe von % - kann mir jemand helfen?

...komplette Frage anzeigen

2 Antworten

Na ja, 123 gleich 123456789 -- da könnte man wohl lange diskutieren.

MySql kennt "Wildcards", wie du richtig erkannt hast, steht dafür das Zeichen '%', und es wird so verwendet, wie der '*' in einigen <Betreibssystemen.

 final String SELECT_WORDS =  "SELECT " + WORD_WOERTER  + " FROM " + TAB_DUMMYWORD + langCode + 
" WHERE " + WORD_KATEGORIE + " = " + kategorie + " AND " + WORD_WOERTER +
" BETWEEN '" + from + "%' AND '" + til + "%' ORDER BY " + WORD_WOERTER;

Das oben ist eine Abfrage von mir, aus einem Programm, ich suche Datensätze die zwischen (z.B.) "D" und "K" liegen, also "Dada", "Diabetes" ... bis "Karlsruhe", "Kryptographie" ...  Der relvante Teil (für dich) kommt als nach dem BETWEEN, from wäre "D", til wäre "K" (in meinem Beispiel).

für dich: WHERE liste1.numLANG = liste2.numKurz% -- das Prozentzeichen also direct an die kurze Nummer.

Wie das syntaktisch bei dir aussieht, aussehen muß kann ich natürlich nicht sagen -- ich weis nicht ob du "direkt", über  eine Konsole mit der DB kommunizierst oder es in einem Cursor aus einem Programm machst.

doch nochmal eine Erläuterung, das BETWEEN in meinem Beispiel wäre:

BETWEEN 'D%' AND 'K%'
bei dir
liste1.numLang = liste2.numKurz + '%'

Gruß

Antwort bewerten Vielen Dank für Deine Bewertung

du kannst auch mit der länge vergleichen

substr (a,1,length(a) ) = substr(b,1,length(a) )

oder

left(a,length(a)) = left(b,length(a))

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?