2

警告が発生する理由はわかっています。

MySQL で '0000-00-00 00:00:00' 形式に設定された varchar(20) カラムで、次のような数値比較を行います。

select * from table where varchar_date_column > 0;

が実行されます...次に、次のような警告が表示されます。

Warning | 1292 | Truncated incorrect DOUBLE value: '2011-03-16 06:17:04' |

だから私の質問は:このようにしない理由はありますか?とにかくプログラムで動作するからです。

4

1 に答える 1

2

文字列を格納しているため、文字列と比較する必要があります。

これにより、警告なしで同じ結果が得られるはずです。

select * from table where varchar_date_column > '0';
于 2011-03-22T21:56:20.827 に答える