2017-05-15 9 views
0

Ich habe eine sender field. In diesen Feldern enthalten einige Zeilen wie ..So finden Sie eine spezifische Zeichenfolge in einer MySQL-Tabelle

sender 
---- 
Rubin 
RUBIN 

Aber ich kann Rubin auswählen. Abfrage:

select * from request where sender='rubin' 

Diese Abfrage Ausgabe lautet:

Rubin 
RUBIN 

Ich brauche ausgegeben wird, Abfrage gibt null Wert:

returns null value 
+1

Scheint so, als ob Sie eine Sortierung ohne Berücksichtigung der Groß-/Kleinschreibung verwenden. – jarlh

Antwort

1
SELECT * FROM request WHERE CAST(sender_id AS BINARY) RLIKE '^rubin$'; 
+0

danke, ich habe es ... – rubin

1

Binäre für diese Spalte,

select * from request where BINARY sender='rubin' 
1

können Sie die verwenden SQL "LIKE" Schlüsselwort,

zum Beispiel:

select * from request where sender LIKE '%rubin%' 
0

einfachste Lösung, sollten Sie einen BINARY Wert verwenden.

select * from request where sender = BINARY 'rubin' 

Refrerence

0

Was geschieht, ist; standardmäßig erstellt mysql Spalten, bei denen die Groß-/Kleinschreibung nicht berücksichtigt wird. Sie müssen angeben, ob eine Spalte beim Erstellen der Tabelle die Groß-/Kleinschreibung beachten soll. Der Text BINARY kann zu jeder Spalte hinzugefügt werden, bei der Groß- und Kleinschreibung beachtet werden muss. Also in Ihrem Beispiel. Wenn Sie die Tabelle wie diese

erstellen
CREATE TABLE request 
('id' int, 'sender' varchar(7) BINARY) 

und lief dann die Abfrage, die Sie verwendet, wird es zurückkehren nulll

Ausführen der Abfrage wie Gulmuhammad und Mayank in ihrer Antwort erwähnt wird auch funktionieren.

Verwandte Themen