gechger
Goto Top

SQL Script zur Select Ausgabe bei Textdetails

als blutiger SQL Anfänger brauche ich etwas Starthilfe

Hallo Forum,

ich habe eine MYSQL Datenbank eingerichtet, in die automatisch Daten geschrieben werden. Die benutze Tabelle besitzt 4 Eintrage:
ID, Werte, Datum und Flag. Es geht mir um die Werte.

Die Struktur der Werte sieht so aus:

2008-07-30_12:30:56 table=BB bTYP=10105 bLOG=1603 bDAT=2008-07-30_12:31:03 bIMP=1468 bFLAG=0 bGPS=A,5006.2629,N,00842.2784,E, bTER=0 bPER=43

Werte ist als Text deklariert und NULL ist verboten.

In der Tabelle befinden sich so 120000 Zeilen, jeden Tag kommen gut 2000 dazu. Mich interessiert der Eintrag blog=. Ich möchte in einem select Befehl nur die Daten ausgeben, die "blog=1603" beinhalten.

SELECT * FROM `Tabelle` WHERE werte like '?blog=1603?'; liefert kein Ergebnis
SELECT * FROM `Tabelle`where `werte`= '_blog=1603_' ; liefert kein Ergebnis
Habs auch schon mit % als Platzhalter probiert. Nie bekomme ich ein Ergebnis.

Wäre für einen Tip sehr dankbar.

Schöne Grüße
Christof

Content-ID: 93225

Url: https://administrator.de/contentid/93225

Ausgedruckt am: 23.11.2024 um 00:11 Uhr

61kenan
61kenan 30.07.2008 um 14:52:47 Uhr
Goto Top
Hi Christof,

hast du es schon mit einem verschachtelten Select ausprobiert?

Das es nicht klappt, ist echt merkwürdig. Du meinst du hättest es mit dem '% Zeichen' als Platzhalter versucht! Hast du aber auch versucht % sowohl am Anfang mit zu schreiben, als auch am ende?

WHERE werte = '%blog=1603%'.

Gruß
Kenan
gechger
gechger 30.07.2008 um 15:02:32 Uhr
Goto Top
Hallo Kenan,

habe ich probiert
SELECT * FROM `mzlife` where `werte`= '%blog=1603%';

Ergebnismenge ist 0, obwohl ca. 3000 Zeilen diesen Wert haben.

Gruß
Christof
AndreasHoster
AndreasHoster 30.07.2008 um 15:04:23 Uhr
Goto Top
Das es nicht klappt ist korrekt, der Datentyp Text ist für sowas nicht gedacht.
varchar wäre der richtige.
text ist ein clob (character large Object) auf den keine Abfrage Funktionen funktionieren.
Edit:
Obiges ist nur die halbe Wahrheit, auch die Abfrage ist falsch.
='....' sucht exakt diesen Wert, d.h. auch das %
Um % als Wildcard zu verwenden muß man Like nehmen.
Also where SPALTENNAME Like '%Beispiel'
gechger
gechger 30.07.2008 um 15:13:12 Uhr
Goto Top
Hallo Andreas,

habs gefunden:

SELECT `werte` FROM `mzlife` where `werte`like'%blog=1201%';

mit dem LIKE Befehl bekomme ich die gewünschte Ausgabe.

Danke für Eure Hilfe

Schöne Grüße
Christof