Utilizzare un parametro Data per una Query in JasperServer

From RVM Wiki
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:
Sun Jun 01 00:00:00 CEST 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:
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