SQLite
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> SQLite

SQLite Sum () so với Total ():Sự khác biệt là gì?

SQLite có một hàm được gọi là sum() và một hàm khác được gọi là total() . Cả hai hàm đều thực hiện khá giống nhau - chúng trả về tổng của tất cả các giá trị không phải NULL trong một nhóm.

Nhưng có một sự khác biệt nhỏ giữa hai chức năng này.

Sự khác biệt là ở cách họ xử lý đầu vào NULL.

Sự khác biệt

Đây là nơi mà hai chức năng này khác nhau.

Nếu không có hàng đầu vào không phải NULL:

  • sum() trả về NULL
  • total() trả về 0,0

Ví dụ

Dưới đây là một ví dụ để chứng minh sự khác biệt giữa SQLite sum()total() các chức năng.

SELECT 
  sum(NULL),
  total(NULL);

Kết quả:

Tổng
sum(NULL)   total(NULL)
----------  -----------
            0.0        

Cột đầu tiên trống vì nó KHÔNG ĐỦ.

Tại sao lại có sự khác biệt?

Lý do có hai hàm thực hiện cùng một chức năng ngoại trừ một điểm khác biệt này là, sum() là hoàn toàn phù hợp với tiêu chuẩn. Tiêu chuẩn SQL yêu cầu sum() hàm trả về NULL khi đầu vào của nó là NULL.

Trả về NULL có thể tuân thủ các tiêu chuẩn, nhưng nó không đặc biệt hữu ích nếu bạn đang mong đợi một con số.

total() do đó, hàm đã được cung cấp như một sự thay thế hữu ích hơn cho sum() .

Bạn có thể chọn chức năng bạn muốn sử dụng, tùy thuộc vào cách bạn muốn chức năng xử lý các giá trị NULL (và cách bạn muốn tuân thủ tiêu chuẩn).

Quyết định của bạn cũng có thể bị ảnh hưởng bởi mức độ linh động mà bạn muốn mã của mình. sum () dường như là tên hàm được sử dụng phổ biến hơn trong các DBMS chính khác.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. lưu trữ dữ liệu trong cơ sở dữ liệu bằng cách sử dụng nút và chỉnh sửa văn bản

  2. Liệt kê tất cả các Chỉ mục trong Cơ sở dữ liệu SQLite

  3. Sao lưu / Khôi phục Cơ sở dữ liệu SQLlite vào thư mục ứng dụng Google Drive

  4. Đặt giá trị mặc định của một cột số nguyên SQLite

  5. Cách truy cập và cập nhật tệp db Sqlite được lưu trữ cục bộ [thư mục tài sản] trong tệp dự án bằng cordova