2016-01-22 216 views
5

我是新來的postgres,有時我一直在爲Mysql工作。我需要將內容從Mysql表遷移到Postgres表。如何將Mysql時間戳轉換爲sysdate(6)格式(以毫秒爲單位)?

我的Postgres的表是這樣的:

   Column    |   Type    |           Modifiers            
--------------------------------+-----------------------------+------------------------------------------------------------------------------------------------ 
id        | integer      | 
created_at      | timestamp without time zone | not null default timezone('UTC'::text, now()) 
updated_at      | timestamp without time zone | not null default timezone('UTC'::text, now()) 
key_classification    | character varying(2000)  | not null 

我插入created_at和的updated_at從MySQL表,該表的形式爲「2014年9月4日23時40分十四秒」的價值。

當我向postgres表中插入一行時,默認時間戳的格式爲「2016-01-22 17:44:53.342757」,其中包含時間戳記中的毫秒。

現在我需要將毫秒添加到mysql時間戳格式以匹配postgres表格格式。

請幫助將毫秒添加到時間戳中。

在此先感謝!

+3

也許你需要閱讀[時間戳以毫秒presicion如何保存在MySQL(http://stackoverflow.com/questions/26299149/timestamp-with-a-millisecond -precision-how-to-save-them-in-mysql) – eusoj

+0

你需要在mysql中使用這個精度,還是你認爲你需要遷移? postgresql也很樂意接受更短的時間戳,即使是「2016-01-22」作爲「2016-01-22 00:00:00.000000」的縮寫 – knitti

回答

0

早上Arunraj 我希望這有助於?

我運行MySQL/MariaDB的

MariaDB [(none)]> SHOW VARIABLES LIKE "%version%"; 
+-------------------------+-----------------+ 
| Variable_name   | Value   | 
+-------------------------+-----------------+ 
| innodb_version   | 5.6.25-73.1  | 
| protocol_version  | 10    | 
| slave_type_conversions |     | 
| version     | 10.0.21-MariaDB | 
| version_comment   | MariaDB Server | 
| version_compile_machine | x86_64   | 
| version_compile_os  | Linux   | 
| version_malloc_library | system   | 
+-------------------------+-----------------+ 
8 rows in set (0.00 sec) 

而且我引用11.3.6 Fractional Seconds in Time Values 哪個版本的MySQL 5.7

要運行示例

As mysql Admin 
mysql -u USERNAME -p 

CREATE USER 'test'@'localhost' IDENTIFIED BY 'test'; 

CREATE DATABASE test; 

GRANT ALL ON test.* TO 'test'@'localhost'; 

退出並重新登錄,測試

mysql -u test -p 

密碼爲test

然後

CREATE TABLE test.td6(ts6 timestamp(6)); 

INSERT INTO test.td6 VALUES ('2016-01-22 17:44:53.342757'); 

插入的值是你想插入到MySQL時間戳格式。 Example Results Ref msql 5.7

所有最優秀的

相關問題