Italian community of Lazarus and Free Pascal
Programmazione => Databases => Topic aperto da: ffabio - Dicembre 05, 2011, 12:33:13 pm
-
Eccomi di nuovo con i miei mille problemi :
quasta volta sono alle prese con mysql qualcuno sa darmi una mano ???
ho una tabella fatta cosė :
CREATE TABLE `t_tariffario` (
`cod_prod` varchar(1) DEFAULT NULL,
`DESCRIZIONE` varchar(70) DEFAULT NULL,
`DATA_INIZIO` date DEFAULT NULL,
`DATA_FINE` date DEFAULT NULL,
`PREZZO` varchar(7) DEFAULT NULL
)
esempio :
1 primo prezzo 01/01/2010 31/12/2010 130
1 secondo prezzo 01/01/2011 120
in dase alla data che pago o che ho pagato mi deve restituire il prezzo corretto .
se pago oggi mi deve restituire 120 se ho pagato il 01/04/2010 mi deve restituire 130.
select * from t_tariffario where data_inizio < "2010-11-04" and data_fine > "2010-11-04"
e mi restituisce giusta 130.
se metto una data di oggi non mi restituisce nulla.
penso il problema sia sul campo data fine null .
allora ho provato a scrivere cosi'
select * from t_tariffario where "2010-11-04" between data_inizio and ifnull(data_fine,sysdate())
niente .
qualcuno sa cosa devo fare ??? helpppp ..
-
Prova a sostituire sysdate con curdate (se non ricordo male sysdate ritorna sia la data che il tempo e dovrebbe essere equivalente a now se stai sullo stesso server)
-
uguale :-(
-
non e' il massimo
WHERE DATA_INIZIO <= '2011-12-04' AND (DATA_FINE >='2011-12-04' OR DATA_FINE IS NULL)
ciao Brunello