Alexander (HH): MySQL Frage: Datum in 2 Spalten in where vergleichen

Beitrag lesen

Moin Moin!

Ich habe eine Tabelle Termine mit 2 Spalten: Start und Ende im Format jeweils "YYYY-MM-DD".

Als String oder als Datumstyp?

Nun hätte ich gern abgefragt alle Termine zB. Monat Oktober.
Also Start >= Oktober <= Ende.

select * from termine where

start > '2010-10-00' and
ende < '2010-11-00'

  
Bist Du sicher, dass der Nullte Tag von MySQL verdaut wird und sich so verhält, wie Du es erwartest?  
  
Bist Du sicher, dass start nie größer als ende ist?  
  
Ich würde mit >= und <= arbeiten, und dabei den jeweils ersten und letzten Tag angeben, oder wahlweise das Datum in einen String umwandeln und mit substr arbeiten.  
  
In Oracle sähe letzeres ungefähr so aus:  
  
~~~sql
  
select  
  ...  
from  
  ...  
where  
  to_char(start,'YYYY-MM')='2010-10'  
  and  
  to_char(ende,'YYYY-MM')='2010-10'  

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".