0

次の列を持つテーブルがあります。

id   |   title  |   date
1    | Title A  | 15-06-2013
2    | Title B  | 25-06-2013
3    | Title C  | 05-07-2013
4    | Title D  | 19-09-2013

date次に、列を Unixに変更する必要があるtimestampため、次のようになります。

id   |   title  |   date
1    | Title A  | 1756346212
2    | Title B  | 1883216212
3    | Title C  | 1227346212
4    | Title D  | 1956436212

コード サーバーを使用せずに、SQL ステートメントを使用して の処理updateと変換を同時に行うことはできますか? コードサーバーとして、これを行うだけです:

select each row => covert `date` to unix time stamp => update

SQLステートメントでそのようなものになりますか?

4

1 に答える 1

1

dateがvarchar列であり、それをunixタイムスタンプに変換したい場合は、次のようにします。

ALTER TABLE yourtable ADD COLUMN unixdate int;

UPDATE yourtable
SET unixdate = UNIX_TIMESTAMP(STR_TO_DATE(date, '%d-%m-%Y'));

ALTER TABLE yourtable DROP COLUMN date;

こちらのフィドルをご覧ください。または、SELECTが必要な場合は、次を使用できます。

SELECT id, title, UNIX_TIMESTAMP(STR_TO_DATE(`date`, '%d-%m-%Y')) `date`
FROM yourtable
于 2013-03-18T11:10:43.860 に答える