Dấu thời gian không có "định dạng".
Cách được đề xuất để đối phó với dấu thời gian là sử dụng một bản chuẩn bị trong đó bạn chỉ cần chuyển một trình giữ chỗ trong SQL và truyền một đối tượng "thực" thông qua API của ngôn ngữ lập trình của bạn. Như tôi không biết Python, tôi không biết liệu nó có hỗ trợ các khoản chuẩn bị không và cú pháp cho điều đó sẽ như thế nào.
Nếu bạn muốn đặt dấu thời gian theo nghĩa đen vào SQL được tạo của bạn, bạn sẽ cần tuân theo một số quy tắc định dạng khi chỉ định giá trị [một chữ có định dạng].
Phương pháp của IVAN sẽ hoạt động, mặc dù tôi không chắc chắn 100% nếu nó phụ thuộc vào cấu hình của máy chủ PostgreSQL.
Một giải pháp độc lập cấu hình [và ngôn ngữ] để chỉ định Dấu thời gian theo nghĩa đen là tiêu chuẩn ANSI SQL:
INSERT INTO some_table
[ts_column]
VALUES
[TIMESTAMP '2011-05-16 15:36:38'];
Có, đó là từ khóa TIMESTAMP
theo sau là dấu thời gian được định dạng theo kiểu ISO [từ khóa TIMESTAMP
xác định định dạng đó]
Giải pháp khác sẽ là sử dụng hàm to_timestamp[]
nơi bạn có thể chỉ định định dạng của chữ in theo nghĩa đen.
INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
Loại dữ liệu nào là ngày trong Postgres?
Định dạng ngày cho kiểu dữ liệu ngày trong PostgreSQL là YYYY-MM-DD. Đây là định dạng được sử dụng cho cả lưu trữ dữ liệu và chèn dữ liệu.
Làm thế nào để Python tích hợp với PostgreSQL?
Thiết lập kết nối bằng Python, bạn có thể tạo các kết nối mới bằng hàm Connect []. Điều này chấp nhận các tham số kết nối cơ bản như dbname, người dùng, mật khẩu, máy chủ, cổng và trả về một đối tượng kết nối. Sử dụng chức năng này, bạn có thể thiết lập kết nối với PostgreSQL.
Postgres có lưu trữ ngày như UTC không?
Python3
import
psycopg2
from
datetime
import
INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
0 INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
1 INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
2 INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
3 INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
4 INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
5 INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
2 INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
7 INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
8 INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
2TIMESTAMP
0TIMESTAMP
1 INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
2TIMESTAMP
3TIMESTAMP
4 INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
4TIMESTAMP
6 INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
2TIMESTAMP
8TIMESTAMP
9 INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
2TIMESTAMP
1TIMESTAMP
2
TIMESTAMP
3
INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
2 TIMESTAMP
5TIMESTAMP
6
INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
2 TIMESTAMP
8TIMESTAMP
9
TIMESTAMP
2
TIMESTAMP
9
TIMESTAMP
2
to_timestamp[]
3
INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
2to_timestamp[]
5
to_timestamp[]
6 to_timestamp[]
7to_timestamp[]
8 to_timestamp[]
9
INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
4import
1import
2import
3
import
4
Output:
Ví dụ 2:
Trong ví dụ này, các gói PsyCOPG2 và DateTime được nhập. Phương thức psyCopg2.connect [] được sử dụng để thiết lập kết nối với cơ sở dữ liệu. Con trỏ được tạo bằng phương thức Connection.cursor []. Phương thức EXECUTE [] thực thi các lệnh SQL được đưa ra. Các giá trị được chèn trong bảng được tạo. DateTime.now [] được sử dụng để tính toán current_timestamp, nó đã được chèn thêm vào bảng. phương thức con trỏ.fetchall [] được sử dụng để tìm nạp tất cả các hàng. & nbsp;
Python3
import
psycopg2
from
datetime
import
INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
0 INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
1 INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
2 INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
3 INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
4 INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
5 INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
2psycopg2
7 INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
8 INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
2TIMESTAMP
0TIMESTAMP
1 INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
2TIMESTAMP
3TIMESTAMP
4 INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
4TIMESTAMP
6 INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
2TIMESTAMP
8TIMESTAMP
9 INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
2TIMESTAMP
1TIMESTAMP
2
TIMESTAMP
3
INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
2 TIMESTAMP
5TIMESTAMP
6
INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
2 TIMESTAMP
8TIMESTAMP
9
INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
4import
1TIMESTAMP
2import
3
INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
2 import
5import
6
INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
2 import
8TIMESTAMP
9
INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
00 INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
01to_timestamp[]
3
INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
2to_timestamp[]
5
to_timestamp[]
6 to_timestamp[]
7to_timestamp[]
8 to_timestamp[]
9
INSERT INTO some_table
[ts_column]
VALUES
[to_timestamp['16-05-2011 15:36:38', 'dd-mm-yyyy hh24:mi:ss']];
4import
1import
2import
3
import
4
Output:
.
tzinfo=datetime.timezone[datetime.timedelta[seconds=19800]]]]