# I campi data

**URL:** <https://www.ruby-forum.com/t/i-campi-data/182091>\
**Category:** IT\
**Created:** [January 22, 2010, 12:32pm UTC](https://www.ruby-forum.com/t/i-campi-data/182091 "2010-01-22T12:32:23Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [January 22, 2010, 12:32pm UTC](https://www.ruby-forum.com/t/i-campi-data/182091/1 "2010-01-22T12:32:23Z")

</div>

…tendete a normalizzarli nel senso che nella tabella create un  
campo anno, un campo mese e un campo giorno oppure create un solo  
campo di tipo data?  
Lo chiedo perche’ avendo un solo campo di tipo data non vorrei in  
seguito avere delle difficolta’ nelle query.

---

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [January 22, 2010, 12:36pm UTC](https://www.ruby-forum.com/t/i-campi-data/182091/2 "2010-01-22T12:36:29Z")

</div>

Io uso un unico campo data e non ho mai avuto alcun problema nelle  
query,  
ogni DB che si rispetti ha tutta una serie di istruzioni per  
manipolarli a dovere.

Roberto

2010/1/22 Mauro [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [January 22, 2010, 12:37pm UTC](https://www.ruby-forum.com/t/i-campi-data/182091/3 "2010-01-22T12:37:04Z")

</div>

Il 22 gennaio 2010 12.32, Mauro [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) ha scritto:

> …tendete a normalizzarli nel senso che nella tabella create un  
> campo anno, un campo mese e un campo giorno oppure create un solo  
> campo di tipo data?  
> Lo chiedo perche’ avendo un solo campo di tipo data non vorrei in  
> seguito avere delle difficolta’ nelle query.

io credo che avresti molti molti molti più problemi con tre campi  
separati che con uno, perché il db sa fare le query con le date,  
mentre con tre campi separati dovresti fare contorsionismi acrobatici  
per cercare, ad esempio, gli oggetti tra la data x e la data y.

pietro

---

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [January 22, 2010, 2:42pm UTC](https://www.ruby-forum.com/t/i-campi-data/182091/4 "2010-01-22T14:42:16Z")

</div>

Msan M. wrote:

> …tendete a normalizzarli nel senso che nella tabella create un  
> campo anno, un campo mese e un campo giorno oppure create un solo  
> campo di tipo data?  
> Lo chiedo perche’ avendo un solo campo di tipo data non vorrei in  
> seguito avere delle difficolta’ nelle query.

Uso un campo DateTime, come fa ActiveRecord per i suoi created\_at e  
updated\_at.  
AR poi lo mappa sul tipo dati nativo del db e in questo modo tutte le  
query funzionano bene senza conversioni da stringhe a oggetti di data.  
Inoltre si possono usare le funzioni di manipolazione di date del db.

Paolo

---

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [January 23, 2010, 4:18pm UTC](https://www.ruby-forum.com/t/i-campi-data/182091/5 "2010-01-23T16:18:08Z")

</div>

Msan M. wrote:

> …tendete a normalizzarli nel senso che nella tabella create un  
> campo anno, un campo mese e un campo giorno oppure create un solo  
> campo di tipo data?  
> Lo chiedo perche’ avendo un solo campo di tipo data non vorrei in  
> seguito avere delle difficolta’ nelle query.

Per semplificare il problema io faccio inserire all’utente la data nella  
forma GGMMAA (quindi per il 23 gennaio 2010 si scriverÃ 230110), poi ne  
controllo la validitÃ e la converto in data inglese da passare alla  
query di activerecord. L’uso di calendari preconfigurati rallenta troppo  
l’immissione dei dati.

Se ci sono sistemi migliori o alternativi, suggerite pure 🙂
