0

データベーステーブルの最初の50ほどのエントリに対してクエリが間違っていたため、日付フィールドに「2013年1月5日」のようなエントリがあります。

誰かが日付フィールドのすべてのエントリを取得し、それらをUNIXタイムスタンプに単純に変換するクエリを手伝ってもらえますか?

ここで他の多くの質問を調査しましたが、私が見つけたものは、事後の日付のグループの操作/変換に対処しているようには見えません。

ありがとう

4

4 に答える 4

1

すべての行を選択しstrtotime、タイムスタンプ値の取得に使用してから、行を更新します。

于 2013-02-06T07:20:36.697 に答える
1

phpを使用している場合は、「strtotime()」関数を使用して、データベースの値を更新します。

于 2013-02-06T07:22:39.763 に答える
0
SELECT UNIX_TIMESTAMP('2007-11-30 10:30:19');

詳細はこちらhttp://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_unix-timestamp

于 2013-02-06T07:22:42.123 に答える
0

PHP;

$ts = strtotime("January 5th, 2013");
echo date("Y-m-d", $ts); // 2013-01-05

SQL;

UPDATE `table` SET `date_field` = UNIX_TIMESTAMP(`date_field`);

また、列タイプを変更する場合(INTパフォーマンスの問題ではタイプを優先します)。

ALTER TABLE `table` MODIFY `date_field` INT UNSIGNED NOT NULL;

ただし、この後、すべてのデータを整数としてこの列に挿入する必要があります。

$time = time(); // or $time = strtotime("January 5th, 2013");
INSERT INTO `table` (`date_field`) VALUES ($time)
于 2013-02-06T07:23:40.693 に答える