[英]phpmyadmin export of date int(11) to CSV dd/mm/yy format
我是SQl的新手,正嘗試通過phpmyadmin進行轉儲。
目前,數據以int(11)的形式存儲在我的數據庫中。
當我從phpmyadmin導出時,數據自然導出為數字,例如'1325336400',但我希望將其顯示為01/01/2012或類似格式。 有什么辦法可以做到嗎?
提前謝謝了
物權法
如果您以32位整數存儲“日期數據”(按您的說法),那么我猜您正在使用* nix時間戳值(自1970年1月1日UTC時間以來的秒數)。
(您知道這可能會在2038年的某個時候溢出,對吧? http://en.wikipedia.org/wiki/Year_2038_problem )
正如您所發現的那樣,phpmyadmin在使用這些值時很難。
MySQL具有TIMESTAMP數據類型,該數據類型也使用* nix樣式的時間戳。 (它不會溢出; MySQL開發人員做了正確的事。)
您確實確實需要將日期數據轉換為TIMESTAMP數據類型。 否則,時間的浪費將永遠成為脖子上的巨大痛苦。 這是操作方法。
首先,以這種方式向表中添加一列,
ALTER TABLE mytable ADD COLUMN ts TIMESTAMP AFTER myinttimestamp
然后,使用已有的值填充新的ts
列。
UPDATE TABLE mytable SET ts = FROM_UNIXTIME(myinttimestamp)
接下來,更改新列的定義,以使其不允許NULL值,並使用當前時間作為默認值:
ALTER TABLE mytable
CHANGE ts
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL
最后,如果您願意,可以擺脫帶有INT值的舊列。
ALTER TABLE mytable DROP COLUMN myinttimestamp
(您應該考慮在表的副本上嘗試所有這些;這樣做會發臭,導致錯誤並破壞您的數據)。
當您使用TIMESTAMP
數據類型時,MySQL會盡力在內部以UTC(時區不敏感)時間存儲所有這些時間戳,並根據您的設置將它們在顯示時轉換為本地時間
SET time_zone = 'Asia/Vladivostok'
管他呢。 當您將它們放入數據庫時,它還會將它們從本地時間轉換為UTC時間。
這是一篇文章。
https://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.