Toán tử trong SQLite



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. Giả sử biến a giữ 10 và biến b giữ 20, thì:

Ví dụ

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. Giả sử biến a giữ 10 và biến b giữ 20, thì:

Ví dụ

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.

Ví dụ

Toán tửMiêu tả
ANDToá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
BETWEENToá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
EXISTSToá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ể
INToá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 INLà 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
LIKEToá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
GLOBToá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
NOTToá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
ORToá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 NULLToán tử IS NULL được sử dụng để so sánh một giá trị với một giá trị NULL
ISToán tử IS làm việc giống như =
IS NOTToá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
UNIQUEToá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:

pqp & qp | q
0000
0101
1111
1001

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:

Ví dụ

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

Các bài học SQLite phổ biến khác tại VietJack: