Anzeige - [Hier werben / Mediadaten]
(?) Tags raten (?) (edit)
 
Reply to this topicStart new topicStart Poll
Diskussion

MySQL - Case Sensitive

G.P.
Geschrieben am: Di 10.02.2009, 11:16
Report PostQuote Post

AyomRank 7
**************

Gruppe: Member (aktiv)
Beiträge: 1126
Mitglied seit: 21.10.2004


Ich möchte eine einfache MySQL abfrage machen :

SELECT *
FROM tabelle
WHERE spalte LIKE "%test%"

Mit dieser Abfrage möchte ich alle Ergebnisse haben, in welchen das Wort "test" vorkommt, unabhängig von der eigentlichen Schreibweise. Leider scheint die Abfrage aber Case Sensitive zu sein, denn bei "Test" und "test" bekomme ich unterschiedliche Ergebnisse.

Weiss jemand wie ich die Abfrage machen kann, damit sie NICHT Case Sensitive ist?

MfG
GP

EDIT: die abzufragende Spalte ist UTF-8


--------------------
FSJ-ADiA.de - Zivildienst im Ausland
Weltwärts Blog - News für Freiwillige im Ausland
Top
PMEmail PosterUsers Website
Top
 
 
Jürgen Auer
Server-Daten - Online-CRM-Lösungen
#2 Geschrieben am: Di 10.02.2009, 11:50 (+00:33)
Report PostQuote Post

AyomRank 9
Group Icon

Gruppe: Experten Entwicklung
Beiträge: 3276
Mitglied seit: 4.02.2006


Schlechte Möglichkeit:

QUOTE
WHERE Lower(spalte) LIKE Lower("%test%")


Ich weiß zwar nicht, ob es die MS-Sql-Funktion Lower bei mySql gibt, aber etwas analoges wird es schon geben.


Bessere Variante, da allgemein wirksam:

Die Spalte wird mit einer Sortierung definiert sein, die Groß/Kleinschreibung beachtet. Das gilt dann nicht bloß für die Sortierung, sondern auch für die Suche. Bei den Spalten, bei denen man das nicht will, macht es üblicherweise Sinn, die Sortierung auf eine Sortierung zu ändern, die keine Groß/Kleinschreibung berücksichtigt.

MS-SqlServer:

QUOTE
Alter Table Tabelle Alter Column spalte nvarchar(50) Collate Latin1_General_CI_AI


mySql wird da etwas ähnliches kennen.


--------------------
Web-Anwendung 3.0: Ein Online-Kalender für Termine vieler Filialen.

Server-Daten - die Single-Data-Solution: Web-Datenbanken als Online - CRM - Lösung.
Ihre Geschäftsprozesse entscheiden, was Ihre Online-Datenbank macht. Sie konzentrieren sich auf Ihr Kerngeschäft - Ihre Datenbank funktioniert.
Top
PMEmail PosterUsers Website
Top
 
profo
#3 Geschrieben am: Di 10.02.2009, 15:23 (+03:33)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 433
Mitglied seit: 19.01.2007


Negationen... ich hatte zuerst beschrieben, wie man eine "fallabhängige" Abfrage zustande bekommt, weil das ja standardmäßig so gehandhabt wird. Hier jetzt beide Varianten:

Kernzeile:

select spalte from tabelle where spalte COLLATE utf8_general_ci like '%test%';

=== Test (in Datei test.sql, dann mysql -N < test.sql)

create database test_tmp_01;
use test_tmp_01;
create table tabelle ( spalte varchar(255) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
insert into tabelle values ('test'), ('Test'), ('TEST'), ('Testwelt'), ('Welttest'), ('EineWeltTest'), ('einkleinertest');

select "";
select "Normale Abfrage, implizit fallunabhängig:";
select spalte from tabelle where spalte like '%test%';

select "";
select "Abfrage, explizit fallabhängig:";
select spalte from tabelle where spalte COLLATE utf8_bin like '%test%';

select "";
select "Abfrage, explizit fallunabhängig:";
select spalte from tabelle where spalte COLLATE utf8_general_ci like '%test%';

drop database test_tmp_01;
Top
PMEmail Poster
Top
 
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/28211

Topic Options Reply to this topicStart new topicStart Poll

 


> Ähnliche Themen
MySQL Sortierung ist irgendwie komisch! webdoktor 248 13 Fr 5.03.2010, 10:20
MYSQL Update-Befehl auf Basis Erg. SELECT Abfrage? Claus Lehmann 195 4 Mi 3.03.2010, 12:27
MySQL-Volltextsuche mit REGXP PH 196 10 Do 4.02.2010, 16:47
Programmierer (PHP/MySQL/JS) im Raum Dresden qwerket 233 2 Mo 1.02.2010, 12:11
mysql performance Felix Weber 297 8 Di 19.01.2010, 21:01
Abfrage einer MySQL Datenbank webdoktor 281 10 Fr 8.01.2010, 18:11
Eingabeformular für MYSQL Tabellen generieren Sancheck 258 7 Mo 16.11.2009, 13:55
Intelligente MySQL Abfrage Sancheck 293 6 Sa 14.11.2009, 22:10
multiline - fähige Query-GUI für mySQL TSc 288 13 Di 3.11.2009, 00:35
MySQL Statement Problem TTlong 209 9 Mi 21.10.2009, 02:10




Anzeige - [Hier werben / Mediadaten]



Anzeigen


[Hier werben / Mediadaten]