PostgreSQL | ||
---|---|---|
prev | Chương 8. Dữ liệu Loại | NEXT |
Có hai loại phép đo ngày và soi kèo bóng đá truoctran cơ bản: soi kèo bóng đá truoctran và soi kèo bóng đá truoctran đồng hồ. Cả hai số lượng đều có tính liên tục và Sự mượt mà, cũng như soi kèo bóng đá truoctran. Postgres cung cấp hai chính Các loại ngày và soi kèo bóng đá truoctran theo định hướng người dùng, DateTime và Time như các loại SQL92 liên quan ngày và giờ.
Các loại ngày và soi kèo bóng đá truoctran khác cũng có sẵn, chủ yếu là cho Lý do lịch sử.
Bảng 8-7. Postgres Ngày/loại soi kèo bóng đá truoctran
ngày/loại soi kèo bóng đá truoctran | lưu trữ | Khuyến nghị | Mô tả |
---|---|---|---|
Abstime | 4 byte | soi kèo bóng đá truoctran và giờ ban đầu | Phạm vi giới hạn |
soi kèo bóng đá truoctran | 4 byte | SQL92 Loại | Phạm vi rộng |
DateTime | 8 byte | soi kèo bóng đá truoctran và giờ chung nhất | Phạm vi rộng, độ chính xác cao |
Khoảng | 12 byte | SQL92 Loại | Tương đương với TimePan |
Relime | 4 byte | Khoảng soi kèo bóng đá truoctran ban đầu | Phạm vi giới hạn, thấp Độ chính xác |
soi kèo bóng đá truoctran | 4 byte | SQL92 Loại | Phạm vi rộng |
Timespan | 12 byte | Khoảng soi kèo bóng đá truoctran chung tốt nhất | Phạm vi rộng, độ chính xác cao |
Dấu soi kèo bóng đá truoctran | 4 byte | SQL92 Loại | Phạm vi giới hạn |
Bảng 8-8. Phạm vi ngày/soi kèo bóng đá truoctran của Postgres
8024_8040 | sớm nhất | mới nhất | Độ phân giải |
---|---|---|---|
Abstime | 1901-12-14 | 2038-01-19 | 1 giây |
soi kèo bóng đá truoctran | 4713 bc | Không giới hạn | 1 soi kèo bóng đá truoctran |
DateTime | 4713 bc | Không giới hạn | 1 microsec đến 14 chữ số |
Khoảng | Không giới hạn | Không giới hạn | 1 microsec |
Relime | -68 năm | +68 năm | 1 giây |
soi kèo bóng đá truoctran | 00:00:00.00 | 23:59:59.99 | 1 microsec |
Timespan | Không giới hạn | Không giới hạn | 1 microsec (14 chữ số) |
dấu soi kèo bóng đá truoctran | 1901-12-14 | 2038-01-19 | 1 giây |
Postgres endevours tương thích với các định nghĩa SQL92 cho cách sử dụng điển hình. Tiêu chuẩn SQL92 có sự kết hợp kỳ lạ của ngày và giờ Các loại và khả năng. Ví dụ, mặc dù loại ngày không Không có múi giờ liên quan, loại soi kèo bóng đá truoctran có thể. Mặc định Múi giờ được chỉ định dưới dạng bù hằng từ GMT/UTC; Tuy nhiên, múi giờ trong thế giới thực có thể không có ý nghĩa trừ khi liên quan với một ngày cũng như một soi kèo bóng đá truoctran vì phần bù sẽ thay đổi thông qua năm.
Để ngăn chặn những khó khăn này, Postgres Associates Zones Zones chỉ với các loại ngày và soi kèo bóng đá truoctran chứa cả ngày và giờ, và Giả sử giờ địa phương cho bất kỳ loại chỉ chứa ngày hoặc soi kèo bóng đá truoctran. Hơn nữa, hỗ trợ múi giờ được lấy từ hoạt động cơ bản Khả năng múi giờ hệ thống và do đó có thể xử lý ánh sáng ban ngày soi kèo bóng đá truoctran tiết kiệm và hành vi mong đợi khác.
Trong các bản phát hành trong tương lai, số lượng ngày/soi kèo bóng đá truoctran sẽ giảm, Với việc triển khai DateTime hiện tại trở thành dấu soi kèo bóng đá truoctran, soi kèo bóng đá truoctran trở thành khoảng soi kèo bóng đá truoctran, và (có thể) kiêng và soi kèo bóng đá truoctran được không dùng để có lợi cho dấu soi kèo bóng đá truoctran và khoảng soi kèo bóng đá truoctran. Càng nhiều Các tính năng Arcane của các định nghĩa ngày/soi kèo bóng đá truoctran từ SQL92 tiêu chuẩn không có khả năng được theo đuổi.
Định dạng đầu ra có thể được đặt thành một trong bốn kiểu: ISO-8601, SQL (Ingres), Postgres truyền thống và Đức.
Bảng 8-9. Phong cách soi kèo bóng đá truoctran Postgres
Đặc tả kiểu | Mô tả | Ví dụ |
---|---|---|
ISO | Tiêu chuẩn ISO-8601 | 1997-12-17 07:37:16-08 |
SQL | Phong cách truyền thống | 12/17/1997 07: 37: 16.00 PST |
Postgres | Kiểu gốc | Thứ tư 17 tháng 12 07:37:16 1997 PST |
Đức | Phong cách khu vực | 17.12.1997 07: 37: 16.00 PST |
Phong cách SQL có các biến thể châu Âu và không châu Âu (Hoa Kỳ), mà Xác định xem tháng theo soi kèo bóng đá truoctran hay VICA Versa.
Bảng 8-10. Postgres soi kèo bóng đá truoctran đặt ra quy ước
Đặc tả kiểu | Mô tả | Ví dụ |
---|---|---|
Châu Âu | Hội nghị khu vực | 17/12/1997 15: 37: 16.00 đã gặp |
Không phải người châu Âu | Hội nghị khu vực | 12/17/1997 07: 37: 16.00 PST |
US | Hội nghị khu vực | 12/17/1997 07: 37: 16.00 PST |
Có một số cách để ảnh hưởng đến sự xuất hiện của soi kèo bóng đá truoctran/giờ Các loại:
Biến môi trường PGDatestyle được sử dụng bởi phụ trợ trực tiếp trên startup postmaster.
Biến môi trường PGDatestyle được sử dụng bởi Frontend libpq khi khởi động phiên.
Đặt lệnh SQL Datestyle.
Đối với Postgres v6.3 (và trước đó) "Postgres truyền thống". Trong các bản phát hành trong tương lai, mặc định có thể trở thành ISO-8601, làm giảm bớt sự mơ hồ về soi kèo bóng đá truoctran kỹ thuật và Y2K Các vấn đề đối chiếu.
Postgres có được hỗ trợ múi giờ từ hoạt động cơ bản hệ thống. Tất cả các ngày và soi kèo bóng đá truoctran được lưu trữ nội bộ soi kèo bóng đá truoctran phối hợp (UTC), xen kẽ là soi kèo bóng đá truoctran trung bình của Greenwich (GMT). soi kèo bóng đá truoctran được chuyển đổi thành giờ cục bộ trên máy chủ cơ sở dữ liệu Trước khi được gửi đến Frontend của máy khách, do đó theo mặc định múi giờ máy chủ.
Có một số cách để ảnh hưởng đến hành vi múi giờ:
Biến môi trường TZ được sử dụng trực tiếp bởi phụ trợ PostMaster startup làm múi giờ mặc định.
Biến môi trường PGTZ được đặt tại máy khách được sử dụng bởi libpq để gửi thông tin múi giờ đến phần phụ trợ sự liên quan.
Đặt múi giờSQL đặt múi giờ cho phiên.
Nếu một múi giờ không hợp lệ được chỉ định, múi giờ trở thành GMT (trên hầu hết các hệ thống).
Ngày và giờ sử dụng chung là đầu vào bằng cách sử dụng nhiều loại kiểu, bao gồm tương thích ISO, tương thích SQL, Postgres truyền thống và Các hoán vị khác của ngày và soi kèo bóng đá truoctran. Trong trường hợp giải thích có thể mơ hồ (hoàn toàn có thể với nhiều phong cách truyền thống của thông số kỹ thuật ngày) Postgres sử dụng cài đặt kiểu để giải quyết sự mơ hồ.
Hầu hết các loại ngày và soi kèo bóng đá truoctran chia sẻ mã cho đầu vào dữ liệu. Cho những người đó Các loại đầu vào có thể có bất kỳ phong cách khác nhau. Vì Đại diện ngày, Công ước Châu Âu và Hoa Kỳ có thể khác nhau và cách giải thích thích hợp có được bằng cách sử dụngĐặt Datestylelệnh trước khi nhập dữ liệu. Lưu ý rằng cài đặt kiểu không loại trừ việc sử dụng các kiểu khác nhau cho đầu vào; Nó được sử dụng chủ yếu để xác định kiểu đầu ra và để giải quyết sự mơ hồ.
Các giá trị đặc biệt `hiện tại ',' vô cực 'và` -Infinity' là cung cấp. `Infinity 'chỉ định một soi kèo bóng đá truoctran muộn hơn bất kỳ hợp lệ nào khác soi kèo bóng đá truoctran và `-Infinity 'chỉ định soi kèo bóng đá truoctran sớm hơn bất kỳ hợp lệ nào khác soi kèo bóng đá truoctran. `hiện tại 'chỉ ra rằng soi kèo bóng đá truoctran hiện tại nên được thay thế bất cứ khi nào giá trị này xuất hiện trong một tính toán. Các chuỗi `bây giờ ',' hôm nay ',' ngày hôm qua ',' ngày mai ', và' epoch 'có thể Được sử dụng để chỉ định giá trị soi kèo bóng đá truoctran. `Bây giờ 'có nghĩa là giao dịch hiện tại soi kèo bóng đá truoctran và khác với 'hiện tại' ở chỗ soi kèo bóng đá truoctran hiện tại là ngay lập tức thay thế cho nó. `Epoch 'có nghĩa là ngày 1 tháng 1 00:00:00 1970 Gmt.
Bảng 8-11. Postgres Ngày/soi kèo bóng đá truoctran Đặc biệt Hằng số
hằng số | Mô tả |
---|---|
hiện tại | soi kèo bóng đá truoctran giao dịch hiện tại, Trì hoãn |
Epoch | 1970-01-01 00: 00: 00+00 (Unix soi kèo bóng đá truoctran hệ thống 0) |
Vô cực | muộn hơn so với hợp lệ khác lần |
-Infinity | sớm hơn so với hợp lệ khác lần |
không hợp lệ | Mục nhập bất hợp pháp |
Bây giờ | soi kèo bóng đá truoctran giao dịch hiện tại |
hôm nay | Midnight hôm nay |
soi kèo bóng đá truoctran mai | Nửa đêm soi kèo bóng đá truoctran mai |
soi kèo bóng đá truoctran hôm qua | Nửa đêm hôm qua |
Ngày và giờ sử dụng chung là đầu vào bằng cách sử dụng nhiều loại kiểu, bao gồm tương thích ISO, tương thích SQL, Postgres truyền thống (xem phần về "soi kèo bóng đá truoctran tuyệt đối") và các hoán vị khác của ngày và soi kèo bóng đá truoctran. Kiểu đầu ra có thể tương thích ISO, tương thích SQL hoặc Postgres truyền thống, với bộ mặc định để tương thích với Postgres v6.0.
DateTime được chỉ định bằng cú pháp sau:
soi kèo bóng đá truoctran tháng năm [Giờ: Phút: Thứ hai] [AD, BC] [Timezone] Yearmonthday [Giờ: phút: Thứ hai] [AD, BC] [Timezone] soi kèo bóng đá truoctran tháng [Giờ: Phút: Thứ hai] Năm [AD, BC] [Timezone] Ở đâu Năm là 4013 trước Công nguyên, ..., rất lớn Tháng là tháng 1, tháng 2, ..., tháng 12 hoặc 1, 2, ..., 12 soi kèo bóng đá truoctran là 1, 2, ..., 31 Giờ là 00, 02, ..., 23 Phút là 00, 01, ..., 59 Thứ hai là 00, 01, ..., 59 (60 cho bước nhảy thứ hai) Timezone là 3 ký tự hoặc iso offset thành gmt
Ngày hợp lệ là từ ngày 13 tháng 11 00:00:00 4013 BC GMT đến xa tương lai. soi kèo bóng đá truoctran là ba ký tự (ví dụ: "GMT" hoặc "PST") hoặc các độ lệch tương thích ISO với GMT (ví dụ: "-08" hoặc "-08: 00" khi ở trong Giờ chuẩn Thái Bình Dương). Ngày được lưu trữ nội bộ trong Greenwich soi kèo bóng đá truoctran trung bình. Các thói quen đầu vào và đầu ra chuyển soi kèo bóng đá truoctran cho địa phương múi giờ của máy chủ.
Khoảng soi kèo bóng đá truoctran sử dụng chung là đầu vào bằng cách sử dụng một loạt các cú pháp, bao gồm tương thích ISO, tương thích SQL, Postgres truyền thống (xem phần về "soi kèo bóng đá truoctran tương đối") và các hoán vị khác của khoảng soi kèo bóng đá truoctran. Các định dạng đầu ra có thể tương thích ISO, tương thích SQL hoặc Postgres truyền thống, với bộ mặc định là Postgres tương thích. Tháng và năm là soi kèo bóng đá truoctran "định tính" khoảng soi kèo bóng đá truoctran và được lưu trữ riêng biệt với "định lượng" khác Khoảng soi kèo bóng đá truoctran như ngày hoặc giờ. Cho số học ngày, Các đơn vị soi kèo bóng đá truoctran định tính được khởi tạo trong bối cảnh của ngày hoặc soi kèo bóng đá truoctran liên quan.
Khoảng soi kèo bóng đá truoctran được chỉ định với cú pháp sau:
Đơn vị số lượng [Đơn vị số lượng ...] [Hướng] @ Đơn vị số lượng [Hướng] Ở đâu Số lượng là ..., `-1 ',` 0', `1 ',` 2', ... Đơn vị là `Thứ hai ',` phút', `giờ ',` soi kèo bóng đá truoctran', `tuần ',` tháng', `năm ', 'Thập kỷ', 'Thế kỷ', Millenium ', hoặc viết tắt hoặc số nhiều của các đơn vị này. Hướng là `trước '.
soi kèo bóng đá truoctran tuyệt đối (Abstime) là một phạm vi giới hạn (+/- 68 năm) và Kiểu dữ liệu ngày chính xác (1 giây). DateTime có thể ưa thích, vì nó bao gồm một phạm vi lớn hơn với độ chính xác.
soi kèo bóng đá truoctran tuyệt đối được chỉ định bằng cú pháp sau:
soi kèo bóng đá truoctran tháng [Giờ: phút: Thứ hai] năm [Timezone] Ở đâu Tháng là tháng 1, tháng 2, ..., tháng 12 soi kèo bóng đá truoctran là 1, 2, ..., 31 Giờ là 01, 02, ..., 24 Phút là 00, 01, ..., 59 Thứ hai là 00, 01, ..., 59 Năm là 1901, 1902, ..., 2038
Ngày hợp lệ là từ ngày 13 tháng 12 20:45:53 1901 GMT đến ngày 19 tháng 1 03:14:04 2038 GMT. Tính đến phiên bản 3.0, soi kèo bóng đá truoctran không còn đọc và viết Sử dụng soi kèo bóng đá truoctran trung bình của Greenwich; Các thói quen đầu vào và đầu ra mặc định múi giờ địa phương. Tất cả các giá trị đặc biệt được phép cho DateTime là cũng được phép cho "soi kèo bóng đá truoctran tuyệt đối".
soi kèo bóng đá truoctran tương đối soi kèo bóng đá truoctran tương đối là một phạm vi giới hạn (+/- 68 năm) và Kiểu dữ liệu khoảng soi kèo bóng đá truoctran chính xác (1 giây). soi kèo bóng đá truoctran nên được ưa thích, vì nó bao gồm một phạm vi lớn hơn với độ chính xác lớn hơn và, quan trọng hơn, có thể phân biệt giữa các đơn vị tương đối (tháng và năm) và các đơn vị định lượng (ngày, giờ, v.v.). Thay vào đó, soi kèo bóng đá truoctran tiếp giống phải buộc tháng là đúng 30 ngày, vì vậy soi kèo bóng đá truoctran Số học không phải lúc nào cũng hoạt động như mong đợi. Ví dụ, thêm Một năm soi kèo bóng đá truoctran khác để kiêng hôm nay không sản xuất ngày hôm nay năm kể từ bây giờ, mà là một ngày 360 ngày kể từ hôm nay.
Các thói quen đầu vào và đầu ra chia sẻ soi kèo bóng đá truoctran Các loại nhịp. Phần trên TimesPan bao gồm chi tiết hơn.
Đây hiện là soi kèo bóng đá truoctran tuyệt đối có giới hạn Giống như kiểu dữ liệu kiêng. Nó chia sẻ trình phân tích cú pháp đầu vào chung với các loại ngày/giờ khác. Trong các bản phát hành trong tương lai, loại này sẽ hấp thụ các khả năng của loại DateTime và sẽ tiến tới Tuân thủ SQL92.
dấu soi kèo bóng đá truoctran được chỉ định bằng cách sử dụng cùng một cú pháp DateTime.
Khoảng soi kèo bóng đá truoctran là kiểu dữ liệu SQL92 hiện đang được ánh xạ tới Kiểu dữ liệu Postgres của TimeSpan.
Phạm vi soi kèo bóng đá truoctran được chỉ định là:
['Abstime' 'Abstime']]]] Ở đâu Từng là một soi kèo bóng đá truoctran ở định dạng soi kèo bóng đá truoctran tuyệt đối.Các giá trị kiêng đặc biệt như 'hiện tại', 'vô cực' và `-Infinity 'có thể được sử dụng.
Prev | Trang chủ | Tiếp theo |
Các loại ký tự | UP | Boolean loại |