SQLite
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> SQLite

Ngày &giờ trong SQLite

Tóm tắt :trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách làm việc với các giá trị ngày và giờ trong SQLite và sử dụng các hàm ngày và giờ tích hợp để xử lý các giá trị ngày và giờ.

SQLite không hỗ trợ lớp lưu trữ ngày và / hoặc thời gian tích hợp sẵn. Thay vào đó, nó sử dụng một số hàm ngày và giờ tích hợp để sử dụng các lớp lưu trữ khác như TEXT , REAL hoặc INTEGER để lưu trữ các giá trị ngày và giờ.

Sử dụng TEXT lớp lưu trữ để lưu trữ ngày và giờ SQLite

Nếu bạn sử dụng TEXT lớp lưu trữ để lưu trữ giá trị ngày và giờ, bạn cần sử dụng định dạng chuỗi ISO8601 như sau:

YYYY-MM-DD HH:MM:SS.SSSCode language: SQL (Structured Query Language) (sql)

Ví dụ:2016-01-01 10:20:05.123

Đầu tiên, tạo một bảng mới có tên datetime_text để trình diễn.

CREATE TABLE datetime_text(
   d1 text, 
   d2 text
);Code language: SQL (Structured Query Language) (sql)

Hãy thử nó

Bảng chứa hai cột d1d2 với TEXT kiểu dữ liệu.

Để chèn các giá trị ngày và giờ vào datetime_text , bạn sử dụng DATETIME chức năng.

Ví dụ:để nhận giá trị ngày và giờ UTC hiện tại, bạn chuyển chuỗi ký tự hiện tại vào hàm như sau:

SELECT datetime('now');Code language: SQL (Structured Query Language) (sql)

Hãy thử nó

Để lấy giờ địa phương, bạn chuyển một đối số bổ sung localtime .

SELECT datetime('now','localtime');Code language: SQL (Structured Query Language) (sql)

Hãy thử nó

Thứ hai, chèn các giá trị ngày và giờ vào datetime_text bảng như sau:

INSERT INTO datetime_text (d1, d2)
VALUES(datetime('now'),datetime('now', 'localtime'));Code language: SQL (Structured Query Language) (sql)

Hãy thử nó

Thứ ba, truy vấn dữ liệu từ datetime_text bảng.

SELECT
	d1,
	typeof(d1),
	d2,
	typeof(d2)
FROM
	datetime_text;Code language: SQL (Structured Query Language) (sql)

Hãy thử nó

Sử dụng REAL lớp lưu trữ để lưu trữ các giá trị ngày và giờ của SQLite

Bạn có thể sử dụng REAL lớp lưu trữ để lưu trữ các giá trị ngày và / hoặc thời gian dưới dạng số ngày Julian, là số ngày kể từ buổi trưa ở Greenwich vào ngày 24 tháng 11 năm 4714 trước Công nguyên. dựa trên lịch Gregory sơ khai.

Hãy xem một ví dụ về việc sử dụng lớp lưu trữ REAL để lưu trữ các giá trị ngày và giờ.

Đầu tiên, tạo một bảng mới có tên datetime_real .

CREATE TABLE datetime_real(
   d1 real
);Code language: SQL (Structured Query Language) (sql)

Hãy thử nó

Thứ hai, chèn giá trị ngày và giờ “hiện tại” vào datetime_real bảng.

INSERT INTO datetime_real (d1)
VALUES(julianday('now'));Code language: SQL (Structured Query Language) (sql)

Hãy thử nó

Chúng tôi đã sử dụng julianday() chức năng chuyển đổi ngày và giờ hiện tại thành Ngày Julian.

Thứ ba, truy vấn dữ liệu từ datetime_real bảng.

SELECT d1 FROM datetime_real;Code language: SQL (Structured Query Language) (sql)

Hãy thử nó

Đầu ra không phải con người có thể đọc được.

May mắn thay, bạn có thể sử dụng date() tích hợp sẵn và time() các chức năng để định dạng giá trị ngày và giờ như sau:

SELECT
	date(d1),
	time(d1)
FROM
	datetime_real;Code language: SQL (Structured Query Language) (sql)

Hãy thử nó

Sử dụng INTEGER để lưu trữ các giá trị ngày và giờ của SQLite

Bên cạnh đó TEXTREAL các lớp lưu trữ, bạn có thể sử dụng INTEGER lớp lưu trữ để lưu trữ các giá trị ngày và giờ.

Chúng tôi thường sử dụng INTEGER để lưu trữ thời gian UNIX là số giây kể từ 1970-01-01 00:00:00 UTC . Xem ví dụ sau:

Đầu tiên, hãy tạo một bảng có một cột có kiểu dữ liệu là INTEGER để lưu trữ các giá trị ngày và giờ.

CREATE TABLE datetime_int (d1 int);Code language: SQL (Structured Query Language) (sql)

Hãy thử nó

Thứ hai, chèn giá trị ngày và giờ hiện tại vào datetime_int bảng.

INSERT INTO datetime_int (d1)
VALUES(strftime('%s','now'));Code language: SQL (Structured Query Language) (sql)

Hãy thử nó

Thứ ba, truy vấn dữ liệu từ datetime_int bảng.

SELECT d1 FROM datetime_int;Code language: SQL (Structured Query Language) (sql)

Hãy thử nó

Đó là một số nguyên.

Để định dạng kết quả, bạn có thể sử dụng datetime() tích hợp sẵn chức năng như sau:

SELECT datetime(d1,'unixepoch')
FROM datetime_int;Code language: SQL (Structured Query Language) (sql)

Hãy thử nó

Sử dụng SQLite, bạn có thể thoải mái chọn bất kỳ kiểu dữ liệu nào để lưu trữ các giá trị ngày và giờ cũng như sử dụng chức năng ngày và giờ tích hợp để chuyển đổi giữa các định dạng.

Để biết thông tin chi tiết về các hàm ngày và giờ của SQLite, hãy xem các hàm ngày và giờ được tích hợp sẵn.

Trong hướng dẫn này, bạn đã học cách sử dụng TEXT , REALINTEGER các lớp lưu trữ để lưu trữ các giá trị ngày và giờ. Ngoài ra, bạn đã học cách sử dụng các hàm ngày và giờ tích hợp để chuyển đổi các giá trị ngày và giờ được lưu trữ thành các định dạng có thể đọc được.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. sqlite get trường với hơn 2 MB

  2. Tạo câu lệnh INSERT từ kết quả truy vấn SQLite

  3. Kiểm tra xem chuỗi cột trong cơ sở dữ liệu có phải là chuỗi con của một truy vấn trong sqlite không

  4. Trả lại dữ liệu đã tìm kiếm từ sqlite

  5. Cách cài đặt trình duyệt SQLite và SQLite trong Ubuntu