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 và 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