linux user group brescia

immagine del castello

Archivio della mailing list

mysql + opencalc - problema di data

cartolina cartolina a tiscali.it
Gio 27 Ott 2005 10:47:43 UTC
Zamp wrote:

>-----BEGIN PGP SIGNED MESSAGE-----
>Hash: SHA1
>
>
>ciao a tutti
>
>ho per le mani un quesito che devo risolvere per convertire un intero
>archivio di un giornale on line che viene impaginato con le macro di
>excel dal 2000 (potete piangere anche voi) da una tabella di excel ad
>un database mysql. avendo problemi di lettere accentate, ho scartato
>dopo vari tentativi il salvataggio in un file csv e l'importazione
>diretta. Ho gia' sostituito automaticamente tutti gli ' in \' e via
>dicendo. Invece che excel sto usando opencalc.
>
>aprendo la tabella di excel, le colonne che mi interessano sono
>occhiello - titolo - sottotitolo - articolo - data.
>
>ho costruito con CONCATENATE un modo abbastanza semplice per fare la
>query mysql, ovvero
>
>=CONCATENATE("INSERT INTO `archivio` ( `occhiello` , `titolo` ,
>`sottotitolo` , `articolo` , `data` , `id` ) VALUES ('";A6;"',
>'";B6;"', '";C6;"','";D6;"', '";E6;"', '');")
>
>che facendo copincolla in un file di testo diventa ad esempio
>
>INSERT INTO `archivio` ( `occhiello` , `titolo` , `sottotitolo` ,
>`articolo` , `data` , `id` ) VALUES ('', '\"L\'incorporazione darà
>grandi vantaggi ai cittadini\"', 'Ne sono convinti Capra, Corsini e
>Morgano, che con un comunicato congiunto commentano il
>connubio.','(red.) Dopo il sofferto sì del consiglio comunale
>....eccetera ', '38356', '');
>
>in questo modo, è sufficiente copiare la colonna G6 (nella F6 ci va
>id, autoincrementale) in un file di testo e le query sono pronte.
>
>
>Il problema serio e' che anche se viene visualizzata nel formato
>aaaa-mm-gg come quella del campo date di mysql, nella colonna E il
>dato viene copincollato, con un numero che non conosco anche se credo
>che abbia a che fare con il numero di giorni passati da un determinato
>momento.
>
>
>come nell'esempio, la data che in opencalc vedo come 2005-01-04
>diventa 38356 una volta copiata e incollata in un file di testo la
>formula.
>devo perforza andare a riprendere excel e windows, o posso risolvere
>in qualche modo questo problema?
>il campo nel database mysql e' un campo "date", devo cambiare questo?
>  
>
il problema credo sia comune a tutti i fogli di calcolo, che usano un 
codice sotto e lo trasformano
a seconda di come gli formatti la cella.
quindi, quando copi il valore della cella, quello e' effettivamente quel 
numero che vedi (38356), che calc,
se lo informi che e' una data, lo fa apparire come una data leggibile da 
un umano.
se cambi il valore del campo data nel db, non ottieni nulla.
quindi, o ottieni in una cella di calc un valore testo che sembri una 
data, e allora puoi mettere nel db il campo date,
o rifai il calcolo dentro al db in modo che lo trasformi in qualcosa di 
leggibile
il numero credo sia un progressivo dal 31 dicembre 1899 (perche?)
io non ho soluzioni pronte in nessuno dei due casi, ma se lo esporti in 
cvs, anziche' copiarlo in file di testo,
calc lo trasforma da solo

>spero che non inizi un ciclo su cosa e' meglio tra mysql e postgree.... :)
>
>  
>
credo proprio che postgres non si comporti diversamente

>grazie!!!
>
>
>zamp
>-----BEGIN PGP SIGNATURE-----
>Version: GnuPG v1.4.2 (GNU/Linux)
>
>iD8DBQFDX/imyVyoYssw08IRAqLqAKDvDlcPbeypWZ0jaUoi34LiN73tcACfaXZL
>zvNeZb9BdmJXjl1obgzxC5E=
>=Xiqo
>-----END PGP SIGNATURE-----



Maggiori informazioni sulla lista Lug