Like-Abfrage über eine Spalte vom Typ Datetime

Jim_Knopf

Grünschnabel
Hallo,

ich habe ein Problem mit eine Like-Abfrage über eine Datenbankspalte vom Typ Datetime.

Bsp:
Code:
SELECT Spalte_Datum FROM Tabelle_Datum WHERE Spalte_Datum like '%12%'

Wenn ich eine solche Abfrage absetze, werden alle Datensätze zurückgeliefert, die ein Datum in der Spalte "Spalte_Datum" enthalten.

Der Grund dafür wird offenbart, wenn ich die Abfrage wiefolgt umschreibe:
Code:
SELECT cast(Spalte_Datum AS varchar(128)) FROM Tabelle_Datum WHERE Spalte_Datum like '%12%'

Nun enthalten nämlich die Datumsangaben Werte wie z.B. 'Okt 5 2008 12:00AM'.

Dies ist auch dann der Fall, wenn in der Datenbank nur Daten ohne Zeitangaben stehen.

Es wird also '2006-10-05 00:00:00.000' zu 'Okt 5 2008 12:00AM' umgewandelt.

Nun zu meiner Frage:
Kann ich das irgendwie umgehen, ohne auf die Like-Abfrage zu verzichten?
 
Hallo!

Wenn ich ehrlich bin: Mich verwirrt die Angabe.

Schreib bitte einfach welche Daten du selektieren willst.
Und ja, man kann auf like und cast verzichten.

lg Sophie
 
Naja hab deine Frage nicht so wirklich verstanden aber ich glaube du könntest das meinen.

Code:
SELECT cast( Spalte_Datum AS varchar(128) ) AS date_string 
FROM Tabelle_Datum AS td 
WHERE td.Spalte_Datum like '%12%'
So dass du explizit in der Spalte `Spalte_Datum` suchst und nicht im String den du oben erzeugst.

Gruß Dennis
 
Zurück