eseguendo l'istruzione seguente, MySQL sembra mescolare le cose:data e l'ora di datetime Getting (? Bug in MySQL)
select now(), if(false, date(now()), time(now()));
| 2013-07-24 10:06:21 | 2010-06-21 00:00:00 |
Se si sostituisce il secondo argomento della if
con una stringa letterale, la dichiarazione si comporta correttamente:
select now(), if(false, 'Banana', time(now()));
| 2013-07-24 10:06:21 | 10:06:21 |
Si tratta di un bug o di qualche stranezza davvero strana?
'SELEZIONA '2013-07-24 10:06:21', SE (FALSO, DATA ('2013-07-24 10:06:21'), ORA ('2013-07-24 10:06: 21 ')); 'mostra lo stesso comportamento (quindi, now() non è coinvolto) –
invece,' SELECT' 2013-07-24 10:06:21 ', IF (TRUE, DATE (' 2013-07- 24 10:06:21 '), TIME (' 2013-07-24 10:06:21 ')); 'funziona correttamente come previsto –