2016-01-22 14 views
5

Tôi mới tham gia postgres và tôi đã từng làm việc trên Mysql cho đôi khi yên tĩnh. Tôi cần di chuyển nội dung từ bảng Mysql sang bảng Postgres.Làm thế nào để chuyển đổi một dấu thời gian Mysql thành định dạng sysdate (6) (với mili giây)?

My Postgres bảng là như thế này:

   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 

Tôi chèn created_at và updated_at giá trị từ bảng mysql mà là ở dạng "2014/09/04 23:40:14".

khi tôi chèn hàng vào bảng bưu cục, dấu thời gian mặc định có dạng "2016-01-22 17: 44: 53.342757" bao gồm mili giây trong dấu thời gian.

Bây giờ tôi cần phải thêm mili giây vào định dạng dấu thời gian mysql để phù hợp với định dạng bảng postgres.

Hãy giúp thêm mili giây vào dấu thời gian.

Cảm ơn trước!

+3

Có lẽ bạn cần phải đọc [Timestamp với một presicion millisecond làm thế nào để tiết kiệm trong mysql] (http://stackoverflow.com/questions/26299149/timestamp-with-a-millisecond -precision-how-to-save-them-in-mysql) – eusoj

+0

bạn cần độ chính xác này trong mysql, hay bạn chỉ nghĩ rằng bạn cần nó để di chuyển? postgresql sẽ vui vẻ chấp nhận các dấu thời gian ngắn hơn, thậm chí "2016-01-22" làm viết tắt cho "2016-01-22 00: 00: 00.000000" – knitti

Trả lời

0

Morning Arunraj Tôi hy vọng điều này sẽ giúp ích?

Tôi đang chạy 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) 

Và tôi tham khảo 11.3.6 Fractional Seconds in Time Values Đó là phiên bản mysql 5,7

Để chạy các ví dụ

As mysql Admin 
mysql -u USERNAME -p 

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

CREATE DATABASE test; 

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

Quit và sau đó đăng nhập như kiểm tra

mysql -u test -p 

Mật khẩu là kiểm tra

Sau đó

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

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

Giá trị chèn là định dạng timestamp bạn muốn chèn vào mysql. Example Results Ref msql 5.7

All the best

Các vấn đề liên quan