私はこのテーブルを持っています。テーブルには一連のcharフィールドがありますが、問題のフィールド(expiredate)には、test_tmpテーブルのcharとテストテーブルのdatetimeが含まれています。datetimeフィールドにこのmysqlテーブルがNULLを生成するのはなぜですか?
test_tmpテーブルでは、フィールドに 'Aug 10'や 'Feb 20'のような月 - 日のペアが含まれています。私はデータを挿入するために使用しているコードは次のとおりです。
INSERT IGNORE INTO test (RECNUM, ORDERNUM, CREATEDATE, EXPIREDATE, FNAME, LNAME)
SELECT RECNUM, ORDERNUM, CREATEDATE,
CAST(CASE WHEN str_to_date(concat(expiredate, ' ', year(now())), '%b %d %Y') <= CURDATE()
THEN str_to_date(concat(expiredate, ' ', 1+year(now())), '%b %d %Y')
ELSE str_to_date(concat(expiredate, ' ', year(now())), '%b %d %Y') END AS DATETIME) AS EXPIREDATE, FNAME, LNAME FROM test_tmp
本当にpuzzingだが、私は、クエリの「選択」セクションを実行する場合、すべてが正常に見えるということです。しかし、私が(テスト・テーブルを最初に切り捨てて)すべてを実行すると、すべての行には満了時にNULLが含まれます。
ええ、ありがとう。私はそれを修正した。 –