SQL-Abfrage mit Datumswerten

johamb

New Member
Hallo!

Ich suche schon verzweifelt nach einer Lösung für das folgende Problem:

Wie kann ich mittels LIKE (SQL Server 2005) aus den folgenden Beispieldaten
(ein String-Feld)

2.3.2009
02.03.2005
2.3.99
12.3.2005
03.01.2002
22.3.2004
1.02.99

alle Datensätze vom 2.3. (also auch die vom 02.03., jedoch nicht vom 12.3./22.3.) heraussuchen?

Danke für die Hilfe!

beste Grüße
johamb
 

KingIggi

New Member
Hallo!
alle Datensätze vom 2.3. (also auch die vom 02.03., jedoch nicht vom 12.3./22.3.) heraussuchen?

Versteh ich nicht. Willst Du wirklich auf Stringebene also mit Like die Daten überprüfen? Dann schau Dir den % Operator an, wenn Dir das nicht mächtig genug ist, dann gibts auch reguläre Ausdrücke. Wenn das auch nicht klappt, weil Du alle Daten nach einem bestimmten Datum haben willst, dann sei an dieser Stelle auf das Handbuch zum Thema Datumsfunktionen verwiesen.
 

robert.wachtel

New Member
Die Datumsfunktionen helfen nur begrenzt weiter (im Sinne von: das ist doch alles nur ein Hack...), wenn es sich um ein String-Feld handelt (warum eigentlich?).

Code:
SELECT * FROM TolleTabelle WHERE Datum LIKE '2.3.%' OR Datum LIKE '02.03.%' OR Datum LIKE '02.3.%'

...aber KingIggi hat schon Recht: das Tabellendesign ist erbärmlich.
 

johamb

New Member
In diesem Feld werden neben dem Datum auch Notizen gespeichert (deshalb ein String-Feld). Das man einmal nach Datumsangaben suchen können muss, war in der Planungsphase nicht absehbar (=Kundenwunsch).

@robert: Gibt es eine Möglichkeit die drei LIKE's als reguläre Ausdrücke umzuformulieren?

Danke!
 

johamb

New Member
Danke für eure Postings - ich habe das ganze jetzt Programmtechnisch gelöst. Über reguläre Ausdrücke ist dieses Problem anscheinend nicht zu beheben.
 
Top