MySQL concat () und niedrigere () Seltsamkeit

8

Irgendeine Idee, warum das vernünftig funktioniert *:

%Vor%

Aber das nicht?

%Vor%

* vernünftig = 'wie ich denke, es sollte funktionieren.'

    
shanusmagnus 06.05.2011, 04:06
quelle

3 Antworten

6

Wie in MySql String-Funktionen angegeben:

  

UNTER (str)

     

LOWER () ist unwirksam, wenn es angewendet wird   Binärzeichenfolgen (BINARY, VARBINARY,   BLOB).

  

CONCAT (str1, str2, ...)

     

Gibt die Zeichenfolge zurück, aus der sich ergibt   Verkettung der Argumente. Könnte haben   ein oder mehrere Argumente. Ich falle   Argumente sind nicht binäre Zeichenfolgen, die   Ergebnis ist eine nicht binäre Zeichenfolge. Wenn die   Argumente umfassen alle binären Zeichenfolgen,   Das Ergebnis ist eine binäre Zeichenfolge. A     numerisches Argument wird in sein konvertiert     äquivalente binäre Zeichenfolgenform; wenn du     möchten dies vermeiden, Sie können ein verwenden     explizite Typumsetzung.

In Ihrem Code übergeben Sie 100 als eine Zahl, so dass concat eine binäre Zeichenkette zurückgibt und niedriger ist unwirksam, wenn sie auf binäre Zeichenketten angewendet wird, deshalb wird sie nicht konvertiert. Wenn Sie konvertieren möchten, können Sie dies versuchen:

%Vor%     
Harry Joy 06.05.2011, 04:15
quelle
2

lower wird verwendet, um STRINGS in Kleinbuchstaben umzuwandeln. Aber Ihr Wert 100 wird als numerisch betrachtet. Wenn Sie immer noch das Ergebnis der Konvertierung in Kleinbuchstaben erreichen möchten, sollten Sie die Zahl in Anführungszeichen einschließen:

%Vor%

Ich habe das getestet und es funktioniert gut.

    
itsols 06.05.2011 04:11
quelle
-1

Und hier ist ein anderes Beispiel mit CONCAT und LIKE

%Vor%     
Lenny Bruyninckx 08.04.2013 10:32
quelle

Tags und Links