1

このSQL関数を使用して、すべてのテーブル行の値を更新しようとしました:

UPDATE night
SET started_at = DATE(
    STR_TO_DATE('13.05.2012 15:31:00','%d.%m.%Y %H:%i:%s')
)

しかし、結果はでした2012-05-13 00:00:00

私は SQLyog コミュニティ エディション v8.12 を使用しており、MySQL 管理者 v1.2.17 を使用してデータベースをホストしていますが、これらのソフトウェアで使用されている SQL 構文に特定のバージョンがあるかどうかはわかりません。

4

2 に答える 2

0

関数を呼び出していDATE()ます:

DATE(expr)

日付または日時式の日付部分を抽出しますexpr

したがって、式の時間部分が削除されます。使用するだけです:

UPDATE night
SET started_at = STR_TO_DATE('13.05.2012 15:31:00','%d.%m.%Y %H:%i:%s')
于 2014-11-08T10:44:42.767 に答える
0

これは私のために働いた:

UPDATE `night` SET started_at = (SELECT STR_TO_DATE('13.05.2012 15:31:00','%d.%m.%Y %H:%i:%s')); 
于 2014-11-08T10:42:13.357 に答える