3

私のテーブルはこのようなデータ構造を持っています

    cate_id  task_id   date_start              date_end                other
         34     14   2012-06-27 10:21:39    2012-06-27 10:21:42     Volume
         34     14   2012-06-27 10:21:42    2016-01-01 00:00:00     Volume




UPDATE tbl SET other ='new'
WHERE task_id =14 
AND cate_id=34
AND DATE_FORMAT('date_start','%Y-%m-%d')='2012-06-27' 
AND DATE_FORMAT('date_end','%Y-%m-%d')='2016-01-01';

私の目標は、日付を '%Y-%m-%d' 形式で比較することだけであり、値全体ではありません。

上記の mysql スクリプトのようにできますか? 実行されたSQLスクリプトは成功しますが、特定の列を更新しませんか? 誰でも教えてください。ありがとう

4

2 に答える 2

9

ハム...

date_startandの周りの引用符を削除してみてくださいdate_end:

AND DATE_FORMAT(date_start,'%Y-%m-%d')='2012-06-27' 
AND DATE_FORMAT(date_end,'%Y-%m-%d')='2016-01-01';
于 2012-06-27T10:07:37.487 に答える
0

の代わりにdate(date_start)andを使用してみてくださいdate(date_end)date format

UPDATE tbl SET other ='new'
WHERE task_id =14 
AND cate_id=34
AND date(date_start)='2012-06-27' 
AND date(date_end)='2016-01-01';

参考までに: function_date

于 2012-06-27T10:06:30.070 に答える