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

Cách Typeof () hoạt động trong SQLite

SQLite typeof() cho phép bạn xác định kiểu dữ liệu của một biểu thức.

Một biểu thức có thể là một trong các kiểu dữ liệu sau:

  • null
  • số nguyên
  • thực
  • văn bản
  • đốm màu

Ví dụ

Đây là một ví dụ để chứng minh.

SELECT typeof('Avocado');

Kết quả:

text

Đây là một số khác:

SELECT 
  typeof(12),
  typeof(X'12'),
  typeof(1.23),
  typeof(NULL);

Kết quả:

typeof(12)  typeof(X'12')  typeof(1.23)  typeof(NULL)
----------  -------------  ------------  ------------
integer     blob           real          null        

Ví dụ về cơ sở dữ liệu

SQLite sử dụng hệ thống kiểu động, trái ngược với kiểu gõ tĩnh như những gì được sử dụng trong hầu hết các hệ quản trị cơ sở dữ liệu quan hệ khác.

Trong SQLite, kiểu dữ liệu của một giá trị được liên kết với chính giá trị đó, không phải với vùng chứa của nó. Điều này có nghĩa là một cột có thể chứa nhiều loại dữ liệu khác nhau. Ví dụ:một hàng có thể có văn bản trong cột đó, hàng khác có thể chứa một số nguyên.

Dưới đây là một ví dụ minh chứng cho khái niệm này.

Lấy bảng sau được gọi là Sản phẩm :

ProductId   ProductName     Price     
----------  --------------  ----------
1           Homer's Widget  10.0      
2           Peter's Widget  20.75     
3           Bob's Widget    15.0      
4           777                       

Trong bảng này, dữ liệu ở hàng cuối cùng có vẻ khác với các hàng khác.

Hãy xem typeof() là gì hàm trả về.

SELECT 
  ProductId,
  typeof(ProductName),
  typeof(Price)
FROM Products;

Kết quả:

ProductId   typeof(ProductName)  typeof(Price)
----------  -------------------  -------------
1           text                 real         
2           text                 real         
3           text                 real         
4           integer              null         

Như mong đợi, hàng cuối cùng trả về các kiểu dữ liệu khác nhau cho Tên sản phẩm Giá cột.

Biểu thức

typeof() hàm có thể hữu ích để xem loại dữ liệu mà một biểu thức nhất định có thể trả về.

SELECT 
 typeof(1),
 typeof(1 + 1.5),
 typeof(1 + NULL);

Kết quả:

typeof(1)   typeof(1 + 1.5)  typeof(1 + NULL)
----------  ---------------  ----------------
integer     real             null            

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Xuất kết quả truy vấn SQLite sang tệp CSV

  2. Làm thế nào để an toàn luồng EnableWriteAheadLogging trong bối cảnh sử dụng thực tế và tài liệu SQLite?

  3. Định dạng kết quả SQLite dưới dạng JSON

  4. Android SQLite:Làm thế nào để tạo bảng lớn cho mục đích thử nghiệm?

  5. Mục đích của bản đồ chiếu Android trong nhà cung cấp nội dung là gì?