2

次のクエリは機能します

select date(str_to_date("08-Nov-2005 22:07","%d-%M-%Y %H:%i:%S"))

予想通り、返ってきました

2005-11-08

次のクエリも機能します

select date(str_to_date("XXXX","%d-%M-%Y %H:%i:%S"))

予想通り、返ってきました

NULL

警告があることに注意する必要がありますが、クエリが実行されて NULL の結果が返されることはありません

show warnings

収量

ここに画像の説明を入力

しかし、結果からテーブルを作成しようとすると問題が発生します。

これは機能します

CREATE TABLE myTable AS select date(str_to_date("08-Nov-2005 22:07","%d-%M-%Y %H:%i:%S"))

しかし、これはそうではありません

CREATE TABLE myTable AS select date(str_to_date("XXXX","%d-%M-%Y %H:%i:%S"))

エラーメッセージは

Incorrect datetime value: 'XXXX' for function str_to_date

これは非常に単純なおもちゃの例ですが、多くの日付値が正しく解析された、より大きなテーブルを作成しようとしていますが、同じ効果があります。

私は何を間違っていますか?

4

2 に答える 2

0

上記の両方のクエリを試してみましたが、うまく機能しているようです。唯一のことは、2番目のクエリに挿入された値がNULLであることです。これは、あなたが期待していることです。

于 2016-10-28T19:18:31.317 に答える