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

SQLite Sum() vs Total():Apa Bedanya?

SQLite memiliki fungsi yang disebut sum() dan fungsi lain yang disebut total() . Kedua fungsi melakukan hal yang hampir sama – mereka mengembalikan jumlah semua nilai non-NULL dalam sebuah grup.

Tapi ada perbedaan halus antara kedua fungsi ini.

Perbedaannya terletak pada cara mereka menangani input NULL.

Perbedaan

Di sinilah kedua fungsi ini berbeda.

Jika tidak ada baris input non-NULL:

  • sum() mengembalikan NULL
  • total() mengembalikan 0,0

Contoh

Berikut adalah contoh untuk menunjukkan perbedaan antara SQLite sum() dan total() fungsi.

SELECT 
  sum(NULL),
  total(NULL);

Hasil:

sum(NULL)   total(NULL)
----------  -----------
            0.0        

Kolom pertama kosong, karena NULL.

Mengapa Perbedaannya?

Alasan memiliki dua fungsi yang melakukan hal yang sama kecuali untuk satu perbedaan ini adalah, sum() sepenuhnya memenuhi standar. Standar SQL mengharuskan sum() fungsi mengembalikan NULL ketika inputnya NULL.

Mengembalikan NULL mungkin sesuai standar, tetapi tidak terlalu berguna jika Anda mengharapkan angka.

total() karena itu fungsi telah disediakan sebagai alternatif yang lebih berguna untuk sum() .

Anda dapat memilih fungsi mana yang ingin Anda gunakan, bergantung pada bagaimana Anda ingin fungsi menangani nilai NULL (dan seberapa sesuai standar yang Anda inginkan).

Keputusan Anda mungkin juga dipengaruhi oleh seberapa portabel kode yang Anda inginkan. sum() tampaknya lebih umum digunakan nama fungsi di DBMS utama lainnya.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. IllegalStateException:database sudah ditutup (menggunakan ViewPager)

  2. SQLite DATEADD() Setara

  3. 6 Cara Memilih Baris Duplikat di SQLite

  4. 3 Cara Mengganti NULL dengan “N/A” di SQLite

  5. Dapatkan Senin Pertama setiap Bulan di SQLite