Italian community of Lazarus and Free Pascal

Programmazione => Databases => Topic aperto da: ffabio - Dicembre 05, 2011, 12:33:13 pm

Titolo: problema sql mysql
Inserito 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 ..





Titolo: Re:problema sql mysql
Inserito da: Microges2000 - Dicembre 05, 2011, 02:14:06 pm
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)
Titolo: Re:problema sql mysql
Inserito da: ffabio - Dicembre 05, 2011, 02:21:07 pm
uguale  :-(
Titolo: Re:problema sql mysql
Inserito da: brunello - Dicembre 05, 2011, 04:14:19 pm
non e' il massimo

WHERE DATA_INIZIO <= '2011-12-04' AND  (DATA_FINE >='2011-12-04' OR DATA_FINE IS NULL)

ciao Brunello