CĂN BẢN
NÂNG CAO
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Date & Time trong SQLite

Trong bài học này mình sẽ cùng tìm hiểu date và time trong SQLite. SQLite hỗ trợ những loại date and time nào? Chúng ta sẽ cùng tìm hiểu trong nội dung tiếp theo.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

1. Date và Time được hỗ trợ trong SQLite

SQLite hỗ trợ năm hàm ngày và giờ như sau:

Hàm Ví dụ
date(timestring, modifiers...) Trả về ngày ở định dạng: YYYY-MM-DD
time(timestring, modifiers...) Trả về thời gian là HH: MM: SS
datetime(timestring, modifiers...) Trả về YYYY-MM-DD HH: MM: SS
julianday(timestring, modifiers...) Trả về số ngày kể từ buổi trưa ở Greenwich vào November 24, 4714 B.C.
strftime(timestring, modifiers...) Trả về ngày được định dạng theo chuỗi định dạng ở đối số đầu tiên

Tất cả năm hàm ngày và thời gian trên đều lấy một time string làm đối số. time string được theo sau bởi không hoặc nhiều modifiers. Hàm strftime () cũng lấy một chuỗi định dạng làm đối số đầu tiên của nó. Phần sau đây sẽ cung cấp cho bạn chi tiết về các loại time string và modifier khác nhau.

2. Các loại Time String trong SQLite

Một time string có thể ở bất kỳ định dạng nào sau đây

Bài viết này được đăng tại [free tuts .net]

Time String EX
YYYY-MM-DD 2019-12-30
YYYY-MM-DD HH:MM 2019-12-30 12:10
YYYY-MM-DD HH:MM:SS.SSS 2019-12-30 12:10:04.100
MM-DD-YYYY HH:MM 30-12-2019 12:10
HH:MM 12:10
YYYY-MM-DDTHH:MM 2019-12-30 12:10
HH:MM:SS 12:10:01
YYYYMMDD HHMMSS 20191230 121001
now 2019-04-09

Bạn có thể sử dụng chữ "T" làm ký tự ngăn cách ngày và giờ.

3. Các loại Modifier trong SQLite

Time string có thể được theo sau bởi 0 hoặc nhiều modifier sẽ thay đổi ngày/thời gian được trả về bởi bất kỳ 1 trong 5 hàm nói trên. Modifier được áp dụng từ trái sang phải.

Các modifer sau đây có sẵn trong SQLite.

  • NNN days
  • NNN hours
  • NNN minutes
  • NNN.NNNN seconds
  • NNN months
  • NNN years
  • start of month
  • start of year
  • start of day
  • weekday N
  • unixepoch
  • localtime
  • utc

4. Formatter trong SQLite

SQLite cung cấp một hàm strftime () rất tiện dụng để định dạng bất kỳ ngày và giờ nào. Bạn có thể sử dụng các thay thế (Substitution) sau để định dạng ngày và giờ của bạn.

Substitution Description
%d Ngày trong tháng, 01-31
%f Giây phân số, SS.SSS
%H Giờ, 00-23
%j Ngày trong năm, 001-366
%J Số ngày Julian, DDDD.DDDD
%m Tháng, 00-12
%M Phút, 00-59
%s Giây kể từ 1970-01-01
%S Giây, 00-59
%w Ngày trong tuần, 0-6 (0 là Chủ nhật)
%W Tuần trong năm, 01-53
%Y Năm, YYYY
%% ký hiệu % 

5. Ví dụ date và time trong SQLite

Bây giờ chúng ta hãy thử các ví dụ khác nhau bằng cách sử dụng dấu nhắc SQLite. Lệnh sau sẽ tính ngày hiện tại.

sqlite> SELECT date('now');
2019-04-07

Lệnh sau sẽ tính ngày cuối cùng của tháng hiện tại.

sqlite> SELECT date('now','start of month','+1 month','-1 day'); 
2019-04-30

Lệnh sau sẽ tính ngày và giờ cho dấu thời gian UNIX đã cho 1092941466.

sqlite> SELECT datetime(1092941466, 'unixepoch');
2004-08-19 18:51:06

Lệnh sau sẽ tính ngày và giờ cho dấu thời gian UNIX nhất định 1092941466 và bù cho múi giờ địa phương của bạn.

sqlite> SELECT datetime(1092941466, 'unixepoch', 'localtime');
2004-08-19 13:51:06

Lệnh sau tính toán dấu thời gian UNIX hiện tại.

sqlite> SELECT strftime('%s','now');
1393348134

Lệnh sau tính toán số ngày kể từ khi ký Tuyên ngôn Độc lập Hoa Kỳ.

sqlite> SELECT julianday('now') - julianday('1776-07-04');
86798.7094695023

Lệnh sau sẽ tính số giây kể từ một thời điểm cụ thể trong năm 2004.

sqlite> SELECT strftime('%s','now') - strftime('%s','2004-01-01 02:34:56');
295001572

Lệnh sau sẽ tính ngày thứ ba đầu tiên của tháng 10 cho năm hiện tại.

sqlite> SELECT date('now','start of year','+9 months','weekday 2');
2019-10-01

Lệnh sau sẽ tính thời gian kể từ thời kỳ UNIX tính bằng giây (như strftime ('% s', 'now') ngoại trừ bao gồm phần phân đoạn).

sqlite> SELECT (julianday('now') - 2440587.5)*86400.0;
1367926077.12598

Để chuyển đổi giữa UTC và giá trị thời gian cục bộ khi định dạng ngày, hãy sử dụng modifier utc hoặc giờ địa phương như sau:

sqlite> SELECT time('12:00', 'localtime');
05:00:00
sqlite> SELECT time('12:00', 'utc');
19:00:00

Cùng chuyên mục:

Các hàm hữu ích trong SQLite

Các hàm hữu ích trong SQLite

SQLite có nhiều hàm dựng sẵn để thực hiện xử lý trên dữ liệu chuỗi…

VACUUM trong SQLite

VACUUM trong SQLite

Lệnh VACUUM trong SQLite làm sạch cơ sở dữ liệu chính bằng cách sao chép…

EXPLAIN trong SQLite

EXPLAIN trong SQLite

Câu lệnh SQLite có thể được bắt đầu bằng từ khóa "EXPLAIN" hoặc bằng cụm…

SQL Injection trong SQLite

SQL Injection trong SQLite

Nếu bạn nhận user input thông qua một Webpage và chèn nó vào trong một…

Tăng tự động AUTOINCREMENT trong SQLite

Tăng tự động AUTOINCREMENT trong SQLite

AUTOINCREMENT trong SQLite là một từ khóa được sử dụng để tự động tăng giá…

Subquery trong SQLite

Subquery trong SQLite

Subquery hoặc Inner query hoặc Nested query là một truy vấn bên trong một truy…

Transaction trong SQLite

Transaction trong SQLite

Một transaction là một đơn vị công việc được thực hiện đối với một cơ…

Tìm hiểu View trong SQLite

Tìm hiểu View trong SQLite

Một view không có gì khác hơn một câu lệnh SQLite được lưu trữ trong…

Lệnh TRUNCATE TABLE trong SQLite

Lệnh TRUNCATE TABLE trong SQLite

Thật không may, không có lệnh TRUNCATE TABLE trong SQLite nhưng bạn có thể sử…

Lệnh ALTER TABLE trong SQLite

Lệnh ALTER TABLE trong SQLite

Lệnh ALTER TABLE trong SQLite dùng để sửa đổi một bảng hiện có mà không…

Mệnh đề INDEXED BY trong SQLite

Mệnh đề INDEXED BY trong SQLite

Mệnh đề "INDEXED BY index-name" chỉ định rằng index-name phải được sử dụng để tìm…

Index trong SQLite

Index trong SQLite

Index là bảng tra cứu đặc biệt mà database search engine có thể sử dụng…

Tìm hiểu Trigger trong SQLite

Tìm hiểu Trigger trong SQLite

Trigger trong SQLite là các hàm callback, mà tự động được thực hiện/gọi (performed/invoked) khi…

Cú pháp ALIAS trong SQLite

Cú pháp ALIAS trong SQLite

Bạn có thể đổi tên tạm thời một bảng hoặc một cột bằng cách đặt…

Toán tử UNION trong SQLite

Toán tử UNION trong SQLite

Toán tử UNION trong SQLite được sử dụng để kết hợp các kết quả của…

Lệnh JOIN trong SQLite

Lệnh JOIN trong SQLite

Lệnh JOIN trong SQLite được sử dụng để kết hợp các bản ghi từ hai…

Các ràng buộc Constraint trong SQLite

Các ràng buộc Constraint trong SQLite

Các ràng buộc (Constraints) là các quy tắc được thi hành trên một cột dữ…

Lệnh PRAGMA trong SQLite

Lệnh PRAGMA trong SQLite

Lệnh PRAGMA trong SQLite là một lệnh đặc biệt được sử dụng để kiểm soát…

Từ khóa DISTINCT trong SQLite

Từ khóa DISTINCT trong SQLite

Từ khóa DISTINCT trong SQLite được sử dụng cùng với câu lệnh SELECT để loại…

Mệnh đề HAVING trong SQLite

Mệnh đề HAVING trong SQLite

Mệnh đề HAVING trong SQLite cho phép bạn chỉ định các điều kiện lọc kết…

Top