Trong bài này chúng ta sẽ tìm hiểu lệnh BETWEEN trong Oracle, nó dùng đê kiểm tra điều kiện trong một khoảng nào đó, có thể là một khoảng các số tự nhiên, một khoảng ngày tháng …
1. Lệnh BETWEEN trong Oracle
Lệnh này thường được sử dụng trong SELECT là chính, và nếu bạn có viết function hay procedure thì cũng được sử dụng khá thường xuyên.
BETWEEN value1 AND value2
Trong đó:
- value1 là giá trị đầu tiên, tức giới hạn trên
- value2 là giá trị cuối cùng, tức giới hạn dưới
Lưu ý: value1 phải nhỏ hơn hoặc bằng value2, nếu không kết quả sẽ không như mong đợi.
Bài viết này được đăng tại [kiso.vn]
Ví dụ: Lấy danh sách bài viết có id trong khoảng từ 1 đến 1000
SELECT * FROM posts WHERE post_id BETWEEN 1 AND 1000
SELECT * FROM posts WHERE post_id >= 1 AND post_id <= 1000
Ví dụ: Lấy danh sách đơn hàng có ngày đặt hàng từ ngày 2014/02/01 đến ngày 2014/02/28
SELECT * FROM order_details WHERE order_date BETWEEN TO_DATE ('2014/02/01', 'yyyy/mm/dd') AND TO_DATE ('2014/02/28', 'yyyy/mm/dd');
SELECT * FROM order_details WHERE order_date >= TO_DATE('2014/02/01', 'yyyy/mm/dd') AND order_date <= TO_DATE('2014/02/28','yyyy/mm/dd');
2. Lệnh NOT BETWEEN trong oracle
Ngược lại với BETWEEN, lệnh NOT BETWEEN sẽ kiểm tra giá trị có phải không nằm trong khoảng nào đó hay không.
NOT BETWEEN value1 AND value2
Trong đó value1 và value2 được giải thích như trên.
Ví dụ: Lấy danh sách bài viết có ID không nằm trong khoảng 500 đến 2000
SELECT * FROM posts WHERE post_id NOT BETWEEN 500 AND 2000
SELECT * FROM posts WHERE post_id < 500 OR post_id > 2000
Ví dụ: Lấy danh sách khách hàng có ID không nằm trong khoảng 3000 đến 3500
SELECT * FROM customers WHERE customer_id NOT BETWEEN 3000 AND 3500;
SELECT * FROM customers WHERE customer_id < 3000 OR customer_id > 3500;
3. Lời kết
Trên là hai cách sử dụng BETWEEN và NOT BETWEEN trong Oracle. Với mỗi bài toán ngoài cách sử dụng lệnh này thì bạn có thể sử dụng lệnh AND để thay cho BETWEEN và lệnh OR để thay cho NOT BETWEEN.
Bài viết liên quan
[CSF-2] Một số thiết lập CSF, LFD
Hôm nay mình sẽ thực hiện một số thiết lập trên CSF Mở file config để sửa đổi một số tính năng dưới /etc/csf/csf.conf Nội dung chính1. Lệnh BETWEEN trong Oracle2. Lệnh NOT BETWEEN trong...
[CSF-1] Tăng bảo mật Server với ConfigServer Firewall (CSF)
Nội dung chính1. Lệnh BETWEEN trong Oracle2. Lệnh NOT BETWEEN trong oracle3. Lời kết1. Khái niệm CSF: CSF (ConfigServer & Firewall) là một bộ ứng dụng hoạt động trên Linux như một firewall được phát...
Sử dụng SSH Key với Gitlab và Github
Bài viết này mình sẽ hướng dẫn các bạn tạo ssh key cho Gitlab và Github SSH là gì? Secure Socket Shell là một giao thức mạng dùng để thiết lập kết nối mạng một...
Directory traversal vulnerabilities (phần 4)
Nội dung chính1. Lệnh BETWEEN trong Oracle2. Lệnh NOT BETWEEN trong oracle3. Lời kếtV. Phân tích và khai thác các lỗ hổng Directory traversal (tiếp) 5. Bypass lỗ hổng khi trang web sử dụng đường...
Directory traversal vulnerabilities (phần 3)
Nội dung chính1. Lệnh BETWEEN trong Oracle2. Lệnh NOT BETWEEN trong oracle3. Lời kếtV. Phân tích và khai thác các lỗ hổng Directory traversal 1. Lỗ hổng xảy ra khi sử dụng các hàm đọc...
Directory traversal vulnerabilities (phần 2)
Nội dung chính1. Lệnh BETWEEN trong Oracle2. Lệnh NOT BETWEEN trong oracle3. Lời kếtIII. Vì sao lỗ hổng Directory traversal xuất hiện? Với mỗi ngôn ngữ lập trình khác nhau, điểm xuất hiện các lỗ...