Toán tử trong SQLite là gì?
Một toán tử là một từ hoặc một ký tự dành riêng được sử dụng trước hết trong mệnh đề WHERE của một lệnh SQLite để thực hiện các hoạt động so sánh hoặc các hoạt động liên quan tới toán học.
Các toán tử được sử dụng để xác định các điều kiện trong một lệnh SQLite và để phục vụ như là sự tổ hợp các điều kiện trong một lệnh. Có các loại toán tử sau trong SQLite:
- Toán tử số học
- Toán tử so sánh
- Toán tử logic
- Toán tử thao tác bit
Toán tử số học trong SQLite
Bảng dưới liệt kê các toán tử số học trong SQLite.
Toán tử | Miêu tả | Ví dụ |
---|---|---|
+ | Phép cộng | a + b cho kết quả là 30 |
- | Phép trừ | a - b cho kết quả là -10 |
* | Phép nhân | a * b cho kết quả là 200 |
/ | Phép chia | b / a cho kết quả là 2 |
% | Phép chia lấy phần dư | b % a cho kết quả là 0 |
Toán tử so sánh trong SQLite
Bảng dưới liệt kê các toán tử so sánh trong SQLite.
Toán tử | Miêu tả | Ví dụ |
---|---|---|
== | Kiểm tra xem giá trị của hai toán hạng có cân bằng không, nếu có thì điều kiện trở thành true | (a == b) là không true |
= | Kiểm tra xem giá trị của hai toán hạng có cân bằng không, nếu có thì điều kiện trở thành true | (a = b) là không true |
!= | Kiểm tra xem giá trị của hai toán hạng là cân bằng hay là không, nếu không cân bằng thì điều kiện trở thành true | (a != b) là true |
<> | Kiểm tra xem giá trị của hai toán hạng là cân bằng hay là không, nếu không cân bằng thì điều kiện trở thành true | (a <> b) là true |
> | Kiểm tra xem giá trị của toán hạng trái có lớn hơn giá trị của toán hạng phải không, nếu có thì điều kiện trở thành true | (a > b) là không true |
< | Kiểm tra xem giá trị của toán hạng trái có nhỏ hơn giá trị của toán hạng phải không, nếu có thì điều kiện trở thành true | (a < b) là true |
>= | Kiểm tra xem giá trị của toán hạng trái có lớn hơn hoặc bằng giá trị của toán hạng phải không, nếu có thì điều kiện trở thành true | (a >= b) là không true |
<= | Kiểm tra xem giá trị của toán hạng trái có nhỏ hơn hoặc bằng giá trị của toán hạng phải không, nếu có thì điều kiện trở thành true | (a <= b) là true |
!< | Kiểm tra xem giá trị của toán hạng trái là không nhỏ hơn giá trị của toán hạng phải không, nếu có thì điều kiện trở thành true | (a !< b) là false |
!> | Kiểm tra xem giá trị của toán hạng trái là không lớn hơn giá trị của toán hạng phải không, nếu có thì điều kiện trở thành true | (a !> b) là true |
Toán tử logic trong SQLite
Bảng dưới liệt kê các toán tử logic có sẵn trong SQLite
Toán tử | Miêu tả |
---|---|
AND | Toán tử AND cho phép sự tồn tại của nhiều điều kiện trong mệnh đề WHERE của một lệnh SQL |
BETWEEN | Toán tử BETWEEN được sử dụng để tìm các giá trị mà là trong một tập giá trị, được cung cấp giá trị nhỏ nhất và giá trị lớn nhất |
EXISTS | Toán tử EXISTS được sử dụng để tìm sự có mặt của một hàng trong một bảng đã cho mà thỏa mãn điều kiện cụ thể |
IN | Toán tử IN được sử dụng để so sánh một giá trị với một danh sách các giá trị hằng mà đã được xác định |
NOT IN | Là phủ định của toán tử IN mà được sử dụng để so sánh một giá trị với một danh sách các giá trị hằng mà đã được xác định |
LIKE | Toán tử LIKE được sử dụng để so sánh một giá trị với các giá trị tương tự bởi sử dụng các toán tử Wildcard |
GLOB | Toán tử GLOB được sử dụng để so sánh một giá trị với các giá trị tương tự bởi sử dụng các toán tử Wildcard. Ngoài ra, GLOB là phân biệt kiểu chữ, không giống như LIKE |
NOT | Toán tử NOT đảo ngược ý nghĩa của toán tử logic khi được sử dụng cùng với toán tử logic đó. Ví dụ: NOT EXISTS, NOT BETWEEN, NOT IN, ... Đây là một toán tử phủ định |
OR | Toán tử OR được sử dụng để kết hợp nhiều điều kiện trong mệnh đề WHERE của một lệnh SQL |
IS NULL | Toán tử IS NULL được sử dụng để so sánh một giá trị với một giá trị NULL |
IS | Toán tử IS làm việc giống như = |
IS NOT | Toán tử IS NOT làm việc giống như != |
|| | Cộng hai chuỗi khác nhau để tạo chuỗi mới |
UNIQUE | Toán tử UNIQUE tìm kiếm tính đơn nhất trong mỗi row của một bảng đã cho (đơn nhất hay duy nhất hay không có bản sao nào) |
Toán tử thao tác bit trong SQLite
Toán tử thao tác bit làm việc trên các bit và thực hiện các phép toán trên từng bit. Bảng sự thật cho & và | như sau:
p | q | p & q | p | q |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 |
1 | 1 | 1 | 1 |
1 | 0 | 0 | 1 |
Giả sử nếu A = 60; và B = 13; thì trong định dạng nhị phân, chúng sẽ là như sau:
A = 0011 1100
B = 0000 1101
A&B = 0000 1100
A|B = 0011 1101
~A = 1100 0011
Bảng dưới liệt kê các toán tử thao tác bit được hỗ trợ bởi ngôn ngữ SQLite:
Toán tử | Miêu tả | Ví dụ |
---|---|---|
& | Toán tử và nhị phân sao chép một bit tới kết quả nếu nó tồn tại trong cả hai toán hạng | (A & B) cho kết quả là 12 mà là 0000 1100 |
| | Toán tử hoặc nhị phân sao chép một bit tới kết quả nếu nó tồn tại trong một hoặc hai toán hạng | (A | B) cho kết quả là 61 mà là 0011 1101 |
~ | Toán tử đảo bit là toán tử một ngôi. Đảo bít 1 thành 0 và ngược lại | (~A ) cho kết quả là -61 mà là 1100 0011 in 2's complement form due to a signed binary number. |
<< | Toán tử dịch trái. Giá trị toán hạng trái được dịch chuyển sang trái bởi số các bit được xác định bởi toán hạng bên phải. | A << 2 cho kết quả là 240 mà là 1111 0000 |
>> | Toán tử dịch phải. Giá trị toán hạng trái được dịch chuyển sang phải bởi số các bit được xác định bởi toán hạng bên phải | A >> 2 cho kết quả là 15 mà là 0000 1111 |