MySQL: Abfrage - Feage

the-cR

Mitglied
Hallo,

ich habe 2 Fragen zu einem MySQL Query:

Wie ist es möglich, z.b. nicht Titel='bla' abzufragen (dabei wird ja direkt verglichen) sondern so abzufragen, daß 'bla' auch ein Teil von Titel sein kann?
Mit anderen Worten, sollte bei einer Abfrage nach 'World' auch 'Hello World' gefunden werden.

Die 2. Frage ist (vielleicht darauf aufsetzend):
Ich habe ein Datumsfeld in einer Tabelle - bei einem, Query möchte ich jedoch nur eine Jahreszahl angeben, und alle Datensätze, dessen Datumsfelder diese Jahreszahl haben, sollen als Ergebnis zurück gegeben werden.

Würde mich freuen wenn mich da jemand aufklären kann..


Vielen Dank
 
Im 1. Fall mach das mit LIKE:
Code:
SELECT * FROM tabelle WHERE titel LIKE '%world%'

Im 2. Fall könnte das auch gehen, bin mir aber nicht sicher
Code:
SELECT * FROM tabelle WHERE datum LIKE '%2002%'

Da gibt es aber noch eine andere Möglichkeit:
Code:
SELECT * FROM tabelle WHERE datum >= '01.01.2002' AND datum <= '31.12.2002'

Hier musst du allerdings aufpassen, das du das richtige Datums-Format nimmst, sonst bekommst du falsche Ergebnisse. Je nach verwendetem Datentyp kann '31.12.2002' auch '2002-12-31' sein.

Gruss Homer
 
Es gibt in SQL Datumsfunktionen.

Für einen nur Jahr Vergleich sähe das so aus:

select * from tabelle where datepart(year,Datumsfeldname) = '2002'

Das ist kommutativ und die Funktionen für Tag, Stunde, Monat... sind analog.
 

Neue Beiträge

Zurück