SQLite
 sql >> Teknologi Basis Data >  >> RDS >> SQLite

Tanggal &Waktu SQLite

Ringkasan :dalam tutorial ini, kami akan menunjukkan cara bekerja dengan nilai tanggal dan waktu SQLite dan menggunakan fungsi tanggal dan waktu bawaan untuk menangani nilai tanggal dan waktu.

SQLite tidak mendukung kelas penyimpanan tanggal dan/atau waktu bawaan. Sebagai gantinya, ini memanfaatkan beberapa fungsi tanggal dan waktu bawaan untuk menggunakan kelas penyimpanan lain seperti TEXT , REAL , atau INTEGER untuk menyimpan nilai tanggal dan waktu.

Menggunakan TEXT kelas penyimpanan untuk menyimpan tanggal dan waktu SQLite

Jika Anda menggunakan TEXT kelas penyimpanan untuk menyimpan nilai tanggal dan waktu, Anda perlu menggunakan format string ISO8601 sebagai berikut:

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

Misalnya, 2016-01-01 10:20:05.123

Pertama, buat tabel baru bernama datetime_text untuk demonstrasi.

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

Cobalah

Tabel berisi dua kolom d1 dan d2 dengan TEXT tipe data.

Untuk memasukkan nilai tanggal dan waktu ke dalam datetime_text tabel, Anda menggunakan DATETIME fungsi.

Misalnya, untuk mendapatkan nilai tanggal dan waktu UTC saat ini, Anda meneruskan string literal sekarang ke fungsi sebagai berikut:

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

Cobalah

Untuk mendapatkan waktu lokal, Anda memberikan argumen tambahan localtime .

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

Cobalah

Kedua, masukkan nilai tanggal dan waktu ke dalam datetime_text tabel sebagai berikut:

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

Cobalah

Ketiga, kueri data dari datetime_text tabel.

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

Cobalah

Menggunakan REAL kelas penyimpanan untuk menyimpan nilai tanggal dan waktu SQLite

Anda dapat menggunakan kode REAL kelas penyimpanan untuk menyimpan nilai tanggal dan/atau waktu sebagai angka hari Julian, yaitu jumlah hari sejak tengah hari di Greenwich pada tanggal 24 November 4714 SM. berdasarkan kalender Gregorian proleptik.

Mari kita lihat contoh penggunaan kelas penyimpanan REAL untuk menyimpan nilai tanggal dan waktu.

Pertama, buat tabel baru dengan nama datetime_real .

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

Cobalah

Kedua, masukkan nilai tanggal dan waktu "saat ini" ke dalam datetime_real tabel.

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

Cobalah

Kami menggunakan julianday() berfungsi untuk mengonversi tanggal dan waktu saat ini ke Hari Julian.

Ketiga, kueri data dari datetime_real tabel.

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

Cobalah

Outputnya tidak dapat dibaca manusia.

Untungnya, Anda dapat menggunakan date() . bawaan dan time() berfungsi untuk memformat nilai tanggal dan waktu sebagai berikut:

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

Cobalah

Menggunakan INTEGER untuk menyimpan nilai tanggal dan waktu SQLite

Selain TEXT dan REAL kelas penyimpanan, Anda dapat menggunakan INTEGER kelas penyimpanan untuk menyimpan nilai tanggal dan waktu.

Kami biasanya menggunakan INTEGER untuk menyimpan waktu UNIX yang merupakan jumlah detik sejak 1970-01-01 00:00:00 UTC . Lihat contoh berikut:

Pertama, buat tabel yang memiliki satu kolom yang tipe datanya INTEGER untuk menyimpan nilai tanggal dan waktu.

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

Cobalah

Kedua, masukkan nilai tanggal dan waktu saat ini ke dalam datetime_int tabel.

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

Cobalah

Ketiga, kueri data dari datetime_int tabel.

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

Cobalah

Ini bilangan bulat.

Untuk memformat hasilnya, Anda dapat menggunakan datetime() . bawaan fungsinya sebagai berikut:

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

Cobalah

Dengan menggunakan SQLite, Anda dapat dengan bebas memilih tipe data apa pun untuk menyimpan nilai tanggal dan waktu dan menggunakan fungsi tanggal dan waktu bawaan untuk mengonversi antar format.

Untuk informasi rinci tentang fungsi tanggal dan waktu SQLite, lihat fungsi tanggal dan waktu bawaan.

Dalam tutorial ini, Anda telah mempelajari cara menggunakan TEXT , REAL , dan INTEGER kelas penyimpanan untuk menyimpan nilai tanggal dan waktu. Selain itu, Anda telah mempelajari cara menggunakan fungsi tanggal dan waktu bawaan untuk mengonversi nilai tanggal dan waktu yang disimpan ke dalam format yang dapat dibaca.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara menggunakan _COUNT di Kolom Dasar

  2. Android - perbarui basis data sqlite klien menggunakan GCM

  3. Tidak dapat membuka database dalam mode baca/tulis

  4. Izin Pengguna SQLite

  5. Pastikan Kursor diinisialisasi dengan benar sebelum mengakses data darinya