Hướng dẫn về Dấu thời gian SQL. Ở đây chúng ta thảo luận về Giới thiệu về Dấu thời gian SQL và các ví dụ thực tế và các biểu thức truy vấn con khác nhau.

Bạn đang xem : truy vấn dấu thời gian trong sql

Dấu thời gian trong SQL

Giới thiệu về Dấu thời gian SQL

Dấu thời gian là một loại dữ liệu và chức năng trong Ngôn ngữ truy vấn có cấu trúc chuẩn (SQL) cho phép chúng tôi lưu trữ và làm việc với cả giá trị dữ liệu ngày và giờ, thường không có múi giờ cụ thể. Dấu thời gian có kích thước lưu trữ 8 byte có thể chấp nhận các giá trị ngày và giờ khác nhau, từ năm 4713 trước Công nguyên đến năm 294276 sau Công nguyên và cung cấp độ phân giải 1 micro giây hoặc 14 chữ số. Một số cơ sở dữ liệu SQL cho phép tùy chỉnh kiểu dữ liệu dấu thời gian trong đó chúng ta có thể chỉ định múi giờ cho dấu thời gian để mỗi khi cơ sở dữ liệu được sử dụng trong một múi giờ khác, nó sẽ hiển thị và chấp nhận ngày và giờ tương ứng. Ví dụ, trong PostgreSQL, chúng ta có kiểu dữ liệu “timestamptz” cũng xử lý các thay đổi múi giờ. Loại dữ liệu Timestamptz cũng có kích thước lưu trữ tương tự như dấu thời gian 8 byte có thể chấp nhận các giá trị ngày và giờ khác nhau, từ năm 4713 trước Công nguyên đến năm 294276 sau Công nguyên và cung cấp độ phân giải 1 micro giây hoặc 14 chữ số.

Trong bài viết này, chúng ta sẽ tìm hiểu các chức năng và sự khác biệt của kiểu dữ liệu “timestamp” và “timestamptz” với sự trợ giúp của một số ví dụ.

Bắt đầu Khóa học Khoa học Dữ liệu Miễn phí của bạn

Hadoop, Khoa học Dữ liệu, Thống kê & amp; những người khác

Cú pháp và Tham số:

Cú pháp cơ bản của kiểu dữ liệu “dấu thời gian” trong SQL như sau:

Dấu thời gian 'date_expression time_expression';

Biểu thức dữ liệu dấu thời gian hợp lệ bao gồm ngày và giờ, theo sau là BC hoặc AD tùy chọn.

Timestamptz ‘date_expression time_expression +/- time_zone_expression’;
2004-10-19 10:23:54;

Trong trường hợp này, biểu thức dữ liệu dấu thời gian hợp lệ bao gồm ngày và giờ, theo sau là biểu thức múi giờ được nối bằng dấu ‘+/-‘ dựa trên vị trí của múi giờ đối với ‘GMT’ và cuối cùng theo sau là BC hoặc AD tùy chọn.

Ví dụ để triển khai Dấu thời gian SQL

Dưới đây là một vài ví dụ để hiểu kiểu dữ liệu Dấu thời gian trong SQL:

Xem Thêm  JavaScript ở đâu - đặt js ở đâu trong html

Lưu ý: Với mục đích của bài viết này, chúng tôi đã sử dụng máy chủ PostgreSQL.

Ví dụ # 1

Tìm hiểu các chi tiết quan trọng về kiểu dữ liệu dấu thời gian và dấu thời gian trong SQL.

Mã:

CHỌN typname, typlen, typtype, typcategory
TỪ pg_type
WHERE typname ~ '^ timestamp';

Ví dụ về dấu thời gian trong SQL 1

Ví dụ # 2

Truy vấn SQL để minh họa sự khác biệt giữa kiểu dữ liệu dấu thời gian và dấu thời gian.

Mã:

CHỌN THỜI GIAN '2020-03-23 ​​00:00';

Ví dụ về dấu thời gian trong SQL 2

CHỌN TIMESTAMPTZ '2020-03-23 ​​00:00';

Ví dụ về dấu thời gian SQL 2

Ví dụ # 3

Một số ví dụ để hiển thị các hàm liên quan đến kiểu dữ liệu dấu thời gian trong SQL. Trước tiên, hãy bắt đầu bằng cách chuyển đổi hoặc chuyển một ngày cụ thể sang định dạng dấu thời gian, như được hiển thị bên dưới.

Mã:

CHỌN '2020-03-23' :: timestamptz;

Ví dụ về múi giờ 3

Giả sử nếu chúng ta muốn biết dấu thời gian hiện tại, chúng ta có thể sử dụng hàm current_timestamp như hình dưới đây. Nó sẽ trả về dấu thời gian hiện tại, tức là ngày và giờ hiện tại được chuyển đổi hoàn toàn thành múi giờ mặc định.

SELECT current_timestamp;

Ví dụ về múi giờ 3

Ngoài ra, chúng tôi cũng có thể kiểm tra múi giờ chúng tôi hiện đang làm việc bằng cách sử dụng câu lệnh SHOW múi giờ bên dưới. Điều này trở nên rất hữu ích khi bạn có các hoạt động trên khắp thế giới.

HIỂN THỊ múi giờ;

Ví dụ về múi giờ 3

Tiếp theo, chúng tôi thậm chí có thể thay đổi múi giờ hiện tại thành một múi giờ khác bằng cách sử dụng câu lệnh múi giờ SET. Tại đây, bạn có thể chọn từ nhiều múi giờ khác nhau như ‘Châu Á / Kolkata’, ‘Châu Âu / Zurich’, ‘Hoa Kỳ / Thái Bình Dương’, v.v. Trong ví dụ này, chúng tôi đã thay đổi múi giờ từ ‘Châu Á / Kolkata’ thành ‘Hoa Kỳ / Thái Bình Dương ‘.

SET timezone = 'US / Pacific';

Ví dụ về dấu thời gian SQL 8

Một vài hàm như EXTRACT trong SQL cho phép chúng tôi trích xuất một phần thông tin cụ thể từ dấu thời gian. Ví dụ: chúng tôi có thể trích xuất NGÀY, THÁNG, NĂM, GIỜ, PHÚT, GIÂY, v.v., từ dấu thời gian.

Trong các ví dụ sau, chúng tôi đã cố gắng trích xuất NGÀY và THÁNG từ dấu thời gian.

CHỌN CHI TIẾT (NGÀY TỪ '2020-03-23 ​​00:00' :: dấu thời gian);

Ví dụ về dấu thời gian trong SQL 3

CHỌN CHI TIẾT (THÁNG TỪ '2020-03-23 ​​00:00' :: dấu thời gian);

Ví dụ về dấu thời gian SQL 3

Ví dụ # 4

Truy vấn SQL để tạo một loạt dấu thời gian trong một múi giờ cụ thể. Trong ví dụ này, chúng tôi đã tạo một loạt dấu thời gian với khoảng cách đều đặn là 5 giờ trong hai múi giờ, đó là ‘Giờ chuẩn Ấn Độ’ và ‘Giờ chuẩn Thái Bình Dương. Chúng ta có thể quan sát sự khác biệt giữa hai chuỗi bằng cách xem xét kỹ kết quả đầu ra.

Xem Thêm  STATIC TESTING – KIỂM THỬ TĨNH – PLT SOLUTIONS - kiểm thử tĩnh

Mã:

SELECT create_series (
múi giờ ('IST', '2020-03-23 ​​00:00' :: dấu thời gian),
múi giờ ('IST', '2020-03-23 ​​23:00' :: dấu thời gian),
'5 giờ' :: khoảng thời gian
);

Tạo chuỗi ví dụ 4

SELECT create_series (
múi giờ ('PST', '2020-03-23 ​​00:00' :: dấu thời gian),
múi giờ ('PST', '2020-03-23 ​​23:00' :: dấu thời gian),
'5 giờ' :: khoảng thời gian
);

Tạo chuỗi ví dụ 4

Ví dụ # 5

Một ví dụ thực tế để minh họa việc sử dụng dấu thời gian hoặc kiểu dữ liệu dấu thời gian trong SQL. Hãy lấy ví dụ về một trường hợp kinh doanh, trong đó một ngân hàng đa quốc gia muốn chúc khách hàng của mình “Sinh nhật vui vẻ” theo giờ địa phương của khách hàng. Cơ sở dữ liệu của ngân hàng có danh sách khách hàng với ngày sinh của họ. Vì vậy, bảng của khách hàng có thể được tạo như sau:

Mã:

TẠO BẢNG Khách hàng (
int customer_id,
customer_name varchar (255),
thành phố varchar (255),
date_of_birth timestamptz
);

Ví dụ về Bảng khách hàng 5

Sau khi chèn thông tin liên quan, dữ liệu trong bảng sẽ giống như sau:

Chi tiết Khách hàng Ví dụ 5

Giả sử chúng tôi muốn chúc những khách hàng của mình ở Luân Đôn có sinh nhật vào hôm nay, tức là ngày “24 tháng 3 năm 2020” theo Giờ chuẩn Ấn Độ; chúng tôi có thể được yêu cầu viết một truy vấn SQL như được hiển thị bên dưới:

SELECT customer_name, date_of_birth
TỪ khách hàng
WHERE EXTRACT (DAY FROM date_of_birth) = '24'
VÀ TRÍCH (THÁNG TỪ date_of_birth) = '03';

Ví dụ về dấu thời gian trong SQL 15

Nhưng trong ví dụ trên, chúng ta có thể thấy rằng vì khách hàng đến từ Luân Đôn và không phải là ngày 24 tháng 3 ở đó, nên truy vấn đầu tiên có thể không phải là lựa chọn tốt nhất. Vì vậy, chúng tôi có thể cải thiện truy vấn bằng cách đề cập đến múi giờ là ‘GMT’, như được đề cập trong truy vấn bên dưới.

SELECT customer_name, date_of_birth
TỪ khách hàng
WHERE EXTRACT (DAY FROM date_of_birth tại múi giờ 'GMT') = '24'
VÀ TRÍCH (THÁNG TỪ date_of_birth tại múi giờ 'GMT') = '03';

Ví dụ về dấu thời gian trong SQL 16

Kết luận

Dấu thời gian SQL là một loại dữ liệu và chức năng được sử dụng để lưu trữ và làm việc với các giá trị dữ liệu ở định dạng ngày và giờ, đôi khi cùng với múi giờ và AD / BC. Chúng rất hữu ích khi chúng tôi hoạt động trên toàn thế giới.

Các bài báo được đề xuất

Đây là hướng dẫn về Dấu thời gian SQL. Ở đây chúng ta thảo luận về Giới thiệu về Dấu thời gian SQL và các ví dụ thực tế và các biểu thức truy vấn con khác nhau. Bạn cũng có thể xem qua các bài viết gợi ý của chúng tôi để tìm hiểu thêm –

Xem Thêm  Lấy độ dài của một chuỗi trong JavaScript - lấy độ dài của chuỗi js

0

Chia sẻ

Chia sẻ


Xem thêm những thông tin liên quan đến chủ đề truy vấn dấu thời gian trong sql

Các hàm xử lý định dạng kiểu ngày giờ datetime trong SQL Server

alt

  • Tác giả: Méo Méo Korea
  • Ngày đăng: 2018-12-29
  • Đánh giá: 4 ⭐ ( 3319 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: GETDATE, DATEADD, DATEDIFF, DATENAME, DATEPART, DAY, MONTH, YEAR, ISDATE, CONVERT

Cách đánh dấu các truy vấn SQL thay thế để tìm truy vấn nhanh nhất

  • Tác giả: helpex.vn
  • Đánh giá: 5 ⭐ ( 4088 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Việc điều chỉnh SQL không phải lúc nào cũng dễ dàng và phải thực hành rất nhiều để nhận ra cách có thể tối ưu hóa bất kỳ truy vấn nhất định nào. Một trong những trang trình bày quan trọng…

Truy vấn cơ sở dữ liệu là gì? Các hệ quản trị cơ sở dữ liệu phổ biến

  • Tác giả: cisnet.edu.vn
  • Đánh giá: 4 ⭐ ( 1371 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Thời đại công nghệ phát triển, thông tin được phổ rộng trên toàn thế giới. Bất cứ ai cũng có thể dễ dàng tiếp cận được với các dữ liệu một cách nhanh nhất.

Xử lý Date trong SQL

  • Tác giả: viettuts.vn
  • Đánh giá: 3 ⭐ ( 4994 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Bảng dưới đây liệt kê tất cả các hàm xử lý Date trong SQL. Ngoài những hàm quan trong dưới đây, có nhiều hàm khác được hỗ trợ bởi các RDBMS khác nhau.

Truy vấn cơ bản trong SQL Server

  • Tác giả: howkteam.vn
  • Đánh giá: 3 ⭐ ( 7114 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Truy vấn cơ bản trong SQL Server

Tất tần tật về xử lý ngày tháng (DATE

  • Tác giả: vncoder.vn
  • Đánh giá: 5 ⭐ ( 2005 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Kiểu dữ liệu ngày tháng (date/time) không giống những kiểu dữ liệu nguyên thuỷ thông thường nên thường gây khó khăn cho các bạn lập trình viên nhất là khi thao tác với các câu lệnh mysql, trong bài viết này mình sẽ tổng hợp và hướng dẫn các bạn làm việc với kiểu date/time trong mysql

Các truy vấn cơ bản trong SQL Server

  • Tác giả: comdy.vn
  • Đánh giá: 3 ⭐ ( 3119 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Bài viết sẽ hướng dẫn chi tiết tất cả các truy vấn cơ bản trong SQL Server, giúp bạn dễ dàng nắm bắt và thành thạo.

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

By ads_php