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

Bagaimana Fungsi DateTime() Bekerja di SQLite

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

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

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

Sintaksnya seperti ini:

datetime(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 datetime() fungsi yang digunakan dengan satu argumen.

SELECT datetime('now');

Hasil:

2020-04-28 23:56:06

now string waktu diubah menjadi tanggal dan waktu saat ini.

Tambahkan Pengubah

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

SELECT datetime('now', '+3 hours');

Hasil:

2020-04-29 02:56:52

Dalam hal ini, saya menambahkan tiga jam ke waktu. Mengingat waktu aslinya, ini juga mengakibatkan tanggal dimajukan ke hari berikutnya.

Beberapa Pengubah

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

SELECT datetime('now', '+3 hours', 'localtime');

Hasil:

2020-04-29 12:58:13

Dalam kasus saya, localtime pengubah menghasilkan waktu yang dimajukan.

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.

Ini dia lagi membandingkan waktu lokal asli dengan hasil modifikasi:

SELECT 
  datetime('now', 'localtime') AS "Local",
  datetime('now', '+3 hours', 'localtime') AS "Modified";

Hasil:

Local                Modified           
-------------------  -------------------
2020-04-29 10:02:09  2020-04-29 13:02:09

Tanggal sebagai String Waktu

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

Jika Anda hanya memberikan bagian tanggal, bagian waktu akan disetel ke semua nol.

SELECT datetime('2010-08-15');

Hasil:

2010-08-15 00:00:00

Jika hanya bagian waktu yang diberikan, maka tanggal diatur ke 01-01-2000.

SELECT datetime('23:58:57');

Hasil:

2000-01-01 23:58:57

Berikut adalah contoh yang menggunakan Hari Julian sebagai string waktu.

SELECT datetime('2451545.49927083');

Hasil:

2000-01-01 23:58:57

datetime() vs strftime()

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

SELECT 
  datetime('now'),
  strftime('%Y-%m-%d %H:%M:%S', 'now');

Hasil:

datetime('now')      strftime('%Y-%m-%d %H:%M:%S', 'now')
-------------------  ------------------------------------
2020-04-29 00:16:12  2020-04-29 00:16:12                 

Rentang Tanggal

Seperti semua fungsi tanggal dan waktu SQLite, datetime() 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. Perbarui dengan parameter menggunakan perpustakaan persisten ruangan

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

  3. 3 Cara Menemukan Baris yang Mengandung Huruf Kecil di SQLite

  4. Android - Bagaimana saya bisa meneruskan data yang terkait dengan dua tabel ke metode penyisipan Penyedia Konten

  5. Menyimpan konfigurasi di android