Pelajaran 10 / 37 · Menghitung nilai

Casting dan fungsi tanggal bisa dipakai di SELECT maupun WHERE

Di WHERE, fungsi dipakai untuk menyaring; di SELECT, untuk menampilkan. Keduanya dihitung dari baris yang sama. Bedanya, WHERE berjalan lebih dulu pada semua baris, sedangkan SELECT hanya pada baris yang lolos.

Query-nya

SELECT id, order_date,
       strftime(order_date, '%Y-%m') AS month,
       date_diff('day', order_date, DATE '2024-06-01') AS days_before_june,
       CAST(amount AS INTEGER) AS whole_amount
FROM orders
WHERE date_part('month', order_date) >= 3

Coba WHERE CAST(amount AS INTEGER) = 20: hanya pesanan 110 yang lolos, karena 19.50-nya dibulatkan sebelum dibandingkan.

Berikutnya: ORDER BY berjalan belakangan, dan urutan baris bernilai sama tidak pasti · Semua pelajaran