06/04/2021, 14:51

ìm hiểu BETWEEN trong Oracle - Oracle căn bản

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 ...

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.

Cú pháp
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.

Ví dụ: Lấy danh sách bài viết có id trong khoảng từ 1 đến 1000

Sử dụng BETWEEN
SELECT * 
FROM posts 
WHERE post_id BETWEEN 1 AND 1000

Sử dụng AND
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

Sử dụng BEtWEEN
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');

Sử dụng AND
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.

Cú pháp
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

Sử dụng NOT BETWEEN
SELECT * 
FROM posts 
WHERE post_id NOT BETWEEN 500 AND 2000

Sử dụng OR
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

Sử dụng NOT BETWEEN
SELECT *
FROM customers
WHERE customer_id NOT BETWEEN 3000 AND 3500;

Sử dụng OR
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.

Trần Trung Dũng

15 chủ đề

2610 bài viết

Cùng chủ đề
0