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

Bagaimana Fungsi Strftime() Bekerja di SQLite

SQLite strftime() fungsi memungkinkan Anda untuk mengembalikan nilai tanggal dan waktu dalam format tertentu.

Nilai tanggal/waktu aktual yang dikembalikan didasarkan pada string waktu yang Anda berikan sebagai argumen saat Anda memanggil fungsi, serta pengubah apa pun yang Anda sertakan (sebagai argumen opsional). Pengubah memungkinkan Anda untuk mengubah tanggal, seperti menambahkan jumlah hari, menyetelnya ke waktu lokal, dll

Sintaks

Sintaksnya seperti ini:

strftime(format, timestring, modifier, modifier, ...)

format argumen dapat berupa kombinasi apa pun dari substitusi string format yang valid untuk strftime() fungsi.

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 ini contoh untuk didemonstrasikan.

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

Hasil:

2020-04-29 01:29:54

now string waktu diubah menjadi tanggal dan waktu saat ini, berdasarkan format string yang disediakan.

Dalam hal ini, string format saya mengembalikan hasil yang persis sama dengan datetime('now') akan kembali.

Tambahkan Pengubah

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

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

Hasil:

2020-04-29 03:31:50

Dalam hal ini saya menambahkan dua jam ke waktu.

Beberapa Pengubah

Anda dapat menambahkan beberapa pengubah. Berikut adalah contoh menambahkan pengubah lain ke contoh sebelumnya.

SELECT strftime('%Y-%m-%d %H:%M:%S', 'now', '+2 hours', 'localtime');

Hasil:

2020-04-29 13:33:22

Dalam kasus saya, localtime pengubah menghasilkan waktu yang dimajukan.

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

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

Ini dia lagi membandingkan waktu lokal asli dengan hasil modifikasi:

SELECT 
  strftime('%Y-%m-%d %H:%M:%S', 'now', 'localtime') AS "Local",
  strftime('%Y-%m-%d %H:%M:%S', 'now', '+2 hours', 'localtime') AS "Modified";

Hasil:

Local                Modified           
-------------------  -------------------
2020-04-29 11:34:57  2020-04-29 13:34:57

Waktu Unix/Epoch

Anda dapat menggunakan %s format string (huruf kecil) untuk menghitung waktu Epoch.

SELECT strftime('%s', 'now');

Hasil:

1588124826

Waktu Epoch (juga dikenal sebagai waktu Epoch, waktu POSIX, detik sejak Epoch, atau waktu Epoch UNIX) adalah jumlah detik sejak 1970-01-01.

Waktu Unix banyak digunakan dalam sistem operasi dan format file.

Hari Julian

Anda dapat menggunakan %J untuk mengembalikan Hari Julian.

Hari Julian adalah jumlah hari sejak tengah hari di Greenwich pada tanggal 24 November 4714 SM. (menggunakan kalender Gregorian Proleptik).

Jika menggunakan kalender Julian proleptik, ini adalah Senin, 1 Januari 4713 SM.

Hari Julian biasanya digunakan oleh para astronom, perangkat lunak, dll untuk menghitung hari yang telah berlalu antara dua peristiwa.

Berikut cara mengembalikan Julian Day dengan strftime() fungsi.

SELECT strftime('%J', 'now');

Hasil:

2458968.575441667               

Cara lain untuk melakukan ini di SQLite adalah dengan menggunakan julianday() fungsi.

Rentang Tanggal

Seperti semua fungsi tanggal dan waktu SQLite, strftime() 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. SQLite tidak dapat membuka file database (kode 14) pada permintaan SELECT yang sering

  2. Ekspor database SQLite ke file XML

  3. Sisipan SQLite

  4. jika tabel saya memiliki 4 kolom dan saya ingin mengambil kolom ke-3 apa yang harus saya lakukan.

  5. SQLite Dipesan Oleh