Utilizzare un parametro Data per una Query in JasperServer

From RVM Wiki
Revision as of 09:48, 27 November 2008 by Gabriele.vivinetto (talk | contribs)
Jump to navigation Jump to search

Se si vuole usare un parametro data in un report JasperServer, che poi andrà utilizzato in una Query SQL, procedere come segue:

  • Creare i controlli di topo "Date", che si chiameranno Data_Inizio' e 'Data_Fine'
  • Creare la Query con il parametro.
Attenzione, il valore data passato dal controllo sarà nella forma:
Per l'ora legale (estate)
Sun Jun 01 00:00:00 CEST 2008
Per l'ora solare (inverno)
Sun Jun 01 00:00:00 CET 2008
È quindi necessario usare la funzione MySql STR_TO_DATE() (nessuno spazio tra il nome e la parentesi, vedi Errore MySql 1305 - FUNCTION tablename.STR_TO_DATE does not exist ) per convertirlo nel formato data Mysql.
La query avrà quindi la forma (CHE VA AGGIORNATA AL CAMBIO DELL'ORA):
SELECT
field1, field2
FROM
table
WHERE
field_date 
BETWEEN
STR_TO_DATE('$P!{Data_Inizio}', '%a %b %d %H:%i:%s CEST %Y') 
AND 
STR_TO_DATE('$P!{Data_Fine}' , '%a %b %d %H:%i:%s CEST %Y')

In caso di problemi, attivare il logging di MySQL per vedere la Query generata.

Riferimenti