Deprecated: Assigning the return value of new by reference is deprecated in /web/htdocs/www.flaviocdc.net/home/wiki/inc/parserutils.php on line 208 Deprecated: Assigning the return value of new by reference is deprecated in /web/htdocs/www.flaviocdc.net/home/wiki/inc/parserutils.php on line 211 Deprecated: Assigning the return value of new by reference is deprecated in /web/htdocs/www.flaviocdc.net/home/wiki/inc/parserutils.php on line 421 Deprecated: Assigning the return value of new by reference is deprecated in /web/htdocs/www.flaviocdc.net/home/wiki/inc/parserutils.php on line 594 Deprecated: Function split() is deprecated in /web/htdocs/www.flaviocdc.net/home/wiki/inc/auth.php on line 154 Mysql e date con tutti ZERO [Flavio Casadei Della Chiesa Wiki]
 
Il contenuto di questo sito è rilasciato sotto licenza Creative Commons License se non specificato diversamente

Mysql e date con tutti ZERO

Premetto che non capirò mai a cosa serva la data 0000-00-00 in quanto se una data non è definita è meglio usare null, premetto inoltre che ho una certa antipatia per MySQL … purtroppo non posso scegliere io la tecnologia da usare quindi mi tocca usare anche MySQL.

Detto ciò, mi sono imbattuto nel problema di come gestire la data 0000-00-00 presente in un db MuSQL all'interno di codeice java, ad esempio per recuperara la data da una colonna di una tabella.

Chiaramente il metodo getDate() lancia un'eccezione se trova una data del tipo 0000-00-00 in quanto non è una data (i progettisti di MySQL sanno che i giorni vanno da 1 a 31 ed i mesi da 1 a 12???); a me non piace neanche usare getString() e/o usare vari try/catch quindi cercando su internet ho trovato un'altra soluzione: modificare la URL JDBC in modo da passare null al posto delle date 0000-00-00 Tale URL è simile alla seguente

jdbc:mysql://myhost.mydomain/mydb?zeroDateTimeBehavior=convertToNull

da notare il parametro zeroDateTimeBehavior=convertToNull

 
java/mysql_e_date_null.txt · Ultima modifica: 2011/12/23 09:56 da fcasadei
 
Recent changes RSS feed