seba22
20.02.2009, 09:53:45
Witam,
Mam następujący problem.
Posiadam w DB taką datę 2009-02-19
Konkretnie rekordy opatrzone taką datą.
Pole podpisane DATA.
Chciał bym zrobić niejako SELECT rekordów, które mają mniej niż TYDZIEŃ ?
Wiem, brzmi głupio, ale to prawda.
Czy mogę zrobić selecta where data > 2009-02-19-tydzien ( z wykorzystaniem procedury mktime, ew jakiejś innej funkcji) ?
Czy mysql takie coś zrozumie ?
Czy umie on robić selecta dla większej przy takim parametrze ?
2009-02-15>2009-02-19
?
Wiem, to brzmi głupio i nie dorzecznie, ale spróbujmy się zastanowić.
Pozdrawiam
nospor
20.02.2009, 09:57:12
manual, manual, manual...

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
http://dev.mysql.com/doc/refman/5.1/en/dat...-functions.htmlpierwszy przyklad z brzegu:
Cytat
Here is an example that uses date functions. The following query selects all rows with a date_col value from within the last 30 days:
mysql> SELECT something FROM tbl_name
-> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
JoShiMa
20.02.2009, 09:57:31
To powinno zadziałać
SELECT * FROM tabela WHERE data>DATE_SUB(NOW(), INTERVAL 7 DAY);
seba22
20.02.2009, 09:59:41
Wiem,
Ale jestem tak głupi że zaczynając programować, zapisałem to w VARCHAR a nie DATE.
Pozdrawiam
nospor
20.02.2009, 10:04:49
kurcze, sprawdź. zajmie ci to 5 minut roboty.
Stworz se tabele testowa, nadaj pole varchar, wpisz tam daty, a nastepnie zamien na typ DATE i przekonaj sie czy poleca czy nie.
odrobina wysilku ci nie zaszkodzi
seba22
20.02.2009, 11:52:46
Witam,
Podziękował,
Konwersja nie utraciła moich danych

Po drugie kod nospor działa wyśmienicie, mmmm

Regards,