Archive for aprile 30th, 2009
30
apr

Spesso ci si trova a dover eseguire degli script di inizializzazione delle importazioni. In questi casi sono necessarie query SQL anche molto strane e complesse e non mancano quelle di inserimento che prendono parzialmente dati da un’altra tabella (insert into con clausola select). Ad esempio, se abbiamo una tabella prodotto ed una tabella umprodotto (unità di misura del prodotto) e vogliamo popolare quest’ultima con tante righe quanti sono i prodotti assegnando di default l’um presente sul prodotto ed un valore di conversione pari a 1 ecco la soluzione:

insert into umprodotto (idprodotto, idunitadimisura, conversione) select idprodotto, idunitadimisura,  1 from prodotto

30
apr

Quello delle date i JAVA è un problema abbastanza intricato da venirne facilmente fuori. Ecco dunque, per la serie ‘funzioni che possono sempre servire’, un modo per calcolare il numero di ore fra due date e tornarle con una stringa formattata:

/**
* Calcula il numero di ore fra due date.
*
* @param d1    La prima data.
* @param d2    La seconda data.
*
* @return  Numero di ore fra le due date in una stringa formattata hh:mm:ss.
*/
public static String getOreFraDate (java.util.Date d1, java.util.Date d2) {
// scambia le date se ce ne fosse la necessitÃ
if (d1.after(d2)) {
Date swap = d1;
d1 = d2;
d2 = swap;
}
double tempoTotale = d2.getTime() - d1.getTime();
int h = (int)(tempoTotale / (1000 * 60 * 60));
tempoTotale = tempoTotale - (h * 1000 * 60 * 60);
int m = (int)(tempoTotale / (1000 * 60));
tempoTotale = tempoTotale - (m * 1000 * 60);
int s = (int)(tempoTotale / (1000));
return h + ":" + m + ":" + s;
}

,