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

Cara Memformat Datetime di SQLite

Masalah:

Anda ingin memformat kolom atau nilai datetime di SQLite.

Contoh:

Basis data kami memiliki tabel bernama ticket dengan data di kolom passenger_ID , train_number , dan sale_datetime .

passenger_ID nomor_kereta tanggal_penjualan
245NX 4505 17-10-2019 12:56:30
127RG 3403 17-10-2019 11:45:23
567FH 4505 18-10-2019 12:40:32
230AP 6700 18-10-2019 13:20:20
118BB 3403 18-10-2019 13:13:13

Untuk setiap penjualan tiket, dapatkan ID penumpang, nomor kereta, serta tanggal dan waktu penjualan. Kami ingin memformat tanggal penjualan untuk menunjukkan hari, bulan, dan tahun yang dipisahkan oleh garis miring (/), dengan koma antara tahun dan waktu. Kami hanya menginginkan jam dan menit penjualan.

Inilah kueri yang akan Anda tulis:

Solusi:

SELECT passenger_ID,
  train_number,
  STRFTIME('%d/%m/%Y, %H:%M', sale_datetime)
  AS sale_formatted_datetime 
FROM ticket;

Berikut hasil querynya:

passenger_ID nomor_kereta sale_formatted_datetime
245NX 4505 17/10/2019, 12:56
127RG 3403 17/10/2019, 11:45
567FH 4505 18/10/2019, 12:40
230AP 6700 18/10/2019, 13:20
118BB 3403 18/10/2019, 13:13

Diskusi:

Gunakan STRFTIME() berfungsi untuk memformat data date\time\datetime di SQLite. Fungsi ini membutuhkan dua argumen. Argumen pertama adalah string format yang berisi pola bagian tanggal/waktu. Dalam contoh kita, kita menggunakan format string ‘%d/%m/%Y, %H:%M '. Dalam string ini:

  • %d adalah hari dengan dua digit.
  • %m adalah bulan dengan dua digit.
  • %Y adalah tahun empat digit.
  • %H adalah dua digit jam.
  • %M adalah menit dua digit.

Anda dapat menemukan lebih banyak penentu tanggal dan waktu dalam dokumentasi SQLite.

Argumen kedua adalah nilai waktu/tanggal/tanggal waktu yang akan diformat. Ini bisa berupa ekspresi yang mengembalikan nilai waktu/tanggal/tanggal atau nama kolom waktu/tanggal/tanggal. (Dalam contoh kita, ini adalah kolom sale_datetime .)

STRFTIME() mengembalikan tanggal dan waktu yang diformat. Dalam contoh kami, tanggal dan waktu yang diformat tidak berisi detik dan bagian tanggal dipisahkan oleh garis miring (/) alih-alih tanda hubung (-).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menyimpan konfigurasi di android

  2. Bagaimana AUTOINCREMENT Bekerja di SQLite

  3. Android - perbarui basis data sqlite klien menggunakan GCM

  4. SQLite JSON_SET()

  5. Aplikasi mogok saat penginstalan dengan kesalahan sqlite3_exec - Gagal menyetel mode sinkron =1(Normal)