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

Bagaimana Fungsi Date() Bekerja di SQLite

SQLite memiliki date() fungsi yang memungkinkan Anda mengembalikan nilai tanggal berdasarkan string waktu dan pengubah apa pun.

Ini mengembalikan tanggal dalam format ini:YYYY-MM-DD

Untuk menggunakan fungsi ini, Anda perlu menyediakan string waktu, ditambah pengubah (opsional). Pengubah memungkinkan Anda untuk mengubah tanggal, seperti menambahkan jumlah hari, menyetelnya ke waktu lokal, dll

Sintaks

Sintaks dari date() fungsinya seperti ini:

date(timestring, modifier, modifier, ...)

timestring argumen harus berupa string waktu yang valid.

modifier argumen adalah opsional. Anda dapat memberikan satu atau lebih pengubah. Jika Anda memberikan pengubah, itu harus pengubah yang valid.

Contoh

Berikut adalah contoh untuk mendemonstrasikan date() fungsi yang digunakan dengan satu argumen.

SELECT date('now');

Hasil:

2020-04-27

now string waktu diubah menjadi tanggal dan waktu saat ini. Mengingat saya menggunakan date() fungsi, hanya tanggal yang dikembalikan.

Tambahkan Pengubah

Kita dapat memodifikasi hasil sebelumnya dengan menggunakan pengubah. Ini contohnya.

SELECT date('now', '+6 months');

Hasil:

2020-10-27

Dalam hal ini, saya menambahkan enam bulan ke tanggal.

Beberapa Pengubah

Seperti yang disebutkan, Anda dapat menambahkan satu atau lebih pengubah. Berikut adalah contoh menambahkan pengubah lain ke contoh sebelumnya.

SELECT date('now', '+6 months', 'localtime');

Hasil:

2020-10-28

Dalam kasus saya, localtime pengubah menghasilkan hari yang ditambahkan ke tanggal.

Alasan dilakukannya ini adalah karena localtime pengubah mengasumsikan string waktu yang disediakan dalam Universal Coordinated Time (UTC). Ini kemudian menyesuaikan string waktu sehingga menampilkan waktu lokal.

Oleh karena itu, Anda mungkin mendapatkan hasil yang berbeda, tergantung pada waktu setempat Anda.

String Literal sebagai Time String

Contoh di atas menggunakan now sebagai string waktu, tetapi Anda dapat memberikan string waktu yang valid.

Berikut beberapa contoh lainnya.

SELECT date('2020-04-27 23:58:57');

Hasil:

2020-04-27 

Dalam hal ini hanya menghapus bagian waktu dari tanggal.

Ini dia lagi, tetapi dengan beberapa pengubah.

SELECT date('2020-04-27 23:58:57', 'start of year', '+6 months');

Hasil:

2020-07-01 

Dalam hal ini saya ingin mendapatkan tanggal yaitu 6 bulan dari awal tahun dari tanggal yang diberikan.

Berikut adalah contoh yang menggunakan Hari Julian sebagai string waktu.

SELECT date('2458967.49737293');

Hasil:

2020-04-27

tanggal() vs strftime()

date() fungsi mengembalikan hasil yang persis sama dengan strftime('%Y-%m-%d', ...) kembali. date() function hanyalah cara yang lebih nyaman untuk melakukannya.

SELECT 
  date('now'),
  strftime('%Y-%m-%d', 'now');

Hasil:

date('now')  strftime('%Y-%m-%d', 'now')
-----------  ---------------------------
2020-04-28   2020-04-28                 

Rentang Tanggal

Seperti semua fungsi tanggal dan waktu SQLite, date() hanya berfungsi untuk tanggal antara 0000-01-01 00:00:00 dan 9999-12-31 23:59:59 (nomor hari julian 1721059.5 hingga 5373484.5).

Untuk tanggal di luar rentang tersebut, hasilnya tidak ditentukan.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mengatur ulang basis data SqLite di Android?

  2. Di mana Android menyimpan versi database SQLite?

  3. Apa perbedaan antara REFERENSI dengan, atau tanpa KUNCI ASING?

  4. Pengecualian SQLite saat mencoba menghapus baris

  5. cara meletakkan database dan membaca database dari folder aset android yang dibuat dan diekspor di sqllite