Hướng dẫn is mysql select case - là trường hợp chọn mysql
Thí dụTrải qua các điều kiện và trả về một giá trị khi điều kiện đầu tiên được đáp ứng: Show Chọn orderID, số lượng, trường hợp & nbsp; & nbsp; & nbsp; Khi số lượng> 30 thì "Số lượng lớn hơn 30" & nbsp; & nbsp; & nbsp; Khi số lượng = 30 thì "Số lượng là 30" & nbsp; & nbsp; & nbsp; Khác "Số lượng dưới 30" endFrom orderDetails; Hãy tự mình thử » Định nghĩa và cách sử dụngTuyên bố trường hợp trải qua các điều kiện và trả về một giá trị khi điều kiện đầu tiên được đáp ứng (như một câu lệnh if-then-else). Vì vậy, một khi một điều kiện là đúng, nó sẽ ngừng đọc và trả về kết quả. Nếu không có điều kiện nào là đúng, nó sẽ trả về giá trị trong mệnh đề khác. Nếu không có phần khác và không có điều kiện nào là đúng, nó sẽ trả lại null. Cú pháp Trường hợp & nbsp; & nbsp; & nbsp; Khi điều kiện1 thì kết quả1 & nbsp; & nbsp; & nbsp; Khi điều kiện2 thì result2 & nbsp; & nbsp; & nbsp; Khi điều kiện sau đó kết quả & nbsp; & nbsp; & nbsp; Kết quả khác; Giá trị tham số
Chi tiết kỹ thuật
Nhiều ví dụ hơnSQL sau đây sẽ đặt hàng khách hàng theo thành phố. Tuy nhiên, nếu City là NULL, thì hãy đặt hàng theo quốc gia: Thí dụ Chọn Tên tùy chỉnh, Thành phố, CountryFrom Khách hàng theo (Case & NBSP; & NBSP; & NBSP; Khi Thành phố là NULL sau đó là Quốc gia & NBSP; & NBSP; & NBSP; khác CityEnd); Hãy tự mình thử » Giả sử ta có bảng dữ liệu như sau:
Bây giờ cần lấy những sinh viên có năm sinh trong khoảng từ 1970 đến 1990 thì ta sử lệnh SELECT và ở field_name BETWEEN begin AND end3 sử dụng toán tử field_name BETWEEN begin AND end4:
Bài viết này được đăng tại [free tuts .net] Thay vì sử dụng toán tử field_name BETWEEN begin AND end5 thì ta sử dụng toán tử field_name BETWEEN begin AND end6 với cú pháp: Trong đó: field_name: tên field cần kiểm tra begin: giá trị bắt đầuCase not found for CASE statement error results. Each 0 consists of one or more SQL statements; an empty 0 is not permitted. To handle situations where no value is matched by any 7 clause, use an 2 containing an empty field_name BETWEEN begin AND end1 block, as shown in this example. (The indentation used here in the 2 clause is for purposes of clarity only, and is not otherwise significant.) Trong bài này chúng ta tìm hiểu cách sử dụng toán tử BETWEEN trong MySQL để xác định dữ liệu trong một khoảng nào đó. Để select trong khoảng thì ngoài BETWEEN ra ta có thể sử dụng toán tử AND để thay thế, chi tiết thế nào thì chúng ta cùng tìm hiểu nhé.BETWEEN trong MySQL để xác định dữ liệu trong một khoảng nào đó. Để select trong khoảng thì ngoài BETWEEN ra ta có thể sử dụng toán tử AND để thay thế, chi tiết thế nào thì chúng ta cùng tìm hiểu nhé. Nội dung chính
Vậy, để select trong khoảng nào đó thì ta thường sử dụng field_name BETWEEN begin AND end6, tuy nhiên cũng phụ thuộc vào thói quen của mỗi người mà chọn giữa field_name BETWEEN begin AND end4 với field_name BETWEEN begin AND end6, field_name BETWEEN begin AND end5 với SELECT * FROM SINHVIEN WHERE NamSinh BETWEEN 1970 AND 19902.freetuts.net, không được copy dưới mọi hình thức. 1. Select trong khoảng với BETWEEN trong MySQLBài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức. Giả sử ta có bảng dữ liệu như sau:sử lệnh SELECT và ở Bây giờ cần lấy những sinh viên có năm sinh trong khoảng từ 1970 đến 1990 thì ta sử lệnh SELECT và ở field_name BETWEEN begin AND end3 sử dụng toán tử field_name BETWEEN begin AND end4: SELECT * FROM SINHVIEN WHERE NamSinh >= 1970 AND NamSinh <= 1990 Bài viết này được đăng tại [free tuts .net] field_name BETWEEN begin AND end Thay vì sử dụng toán tử
end: giá trị kết thúc SELECT * FROM SINHVIEN WHERE NamSinh BETWEEN 1970 AND 1990 Quay lại ví dụ trên ta sẽ viết lại câu field_name BETWEEN begin AND end7 như sau: 2. Select ngoài khoảng với BETWEEN trong MySQLNgoài cú pháp sử dụng select trong khoảng thì field_name BETWEEN begin AND end6 còn có một cách sử dụng là select ngoài khoảng. select trong khoảng thì field_name BETWEEN begin AND end6 còn có một cách sử dụng là select ngoài khoảng. Cú pháp như sau: field_name NOT BETWEEN begin AND end Sự khác nhau giữa trong khoang và ngoài khoảng là thêm chữ field_name BETWEEN begin AND end9 đằng trước chữ field_name BETWEEN begin AND end6. Quay lại bài trên bây giờ cần lấy danh sách sinh viên có năm sinh không nằm trong khoảng 1970 và 1990 thì ta sẽ làm hai cách như sau: Cách 1: Sử dụng toán tử field_name BETWEEN begin AND end5 SELECT * FROM SINHVIEN WHERE NamSinh < 1970 OR NamSinh > 1990 Cách 2: Sử dụng SELECT * FROM SINHVIEN WHERE NamSinh BETWEEN 1970 AND 19902 SELECT * FROM SINHVIEN WHERE NamSinh NOT BETWEEN 1970 AND 1990 Cả hai ví dụ đều có kết quả như sau: 3. Sử dụng BETWEEN với các kiểu dữ liệu khácfield_name BETWEEN begin AND end6 thường sử dụng với dữ liệu kiểu SELECT * FROM SINHVIEN WHERE NamSinh BETWEEN 1970 AND 19904, tuy nhiên bạn vẫn sử dụng được với các kiểu dữ liệu khác như:
Ví dụ 1: Lấy danh sách sinh viên có tên gồm các ký tự trong khoảng 'A' đến 'B': Lấy danh sách sinh viên có tên gồm các ký tự trong khoảng 'A' đến 'B' SELECT * FROM SINHVIEN WHERE TenSV BETWEEN 'A' AND 'B' Ví dụ 2: Giả sử bảng sinh viên thêm cột ngày nhập học. Bây giờ viết câu truy vấn lấy danh sách sinh viên nhập học từ ngày 01/01/2003 đến ngày 01/01/2014 thì ta làm như sau:: Giả sử bảng sinh viên thêm cột ngày nhập học. Bây giờ viết câu truy vấn lấy danh sách sinh viên nhập học từ ngày 01/01/2003 đến ngày 01/01/2014 thì ta làm như sau: 04. Lời kếtVậy, để select trong khoảng nào đó thì ta thường sử dụng field_name BETWEEN begin AND end6, tuy nhiên cũng phụ thuộc vào thói quen của mỗi người mà chọn giữa field_name BETWEEN begin AND end4 với field_name BETWEEN begin AND end6, field_name BETWEEN begin AND end5 với SELECT * FROM SINHVIEN WHERE NamSinh BETWEEN 1970 AND 19902. 13.6.5.1 CASE Statement
Or:
The 4 statement for stored programs implements a complex conditional construct. For the first syntax, 5 is an expression. This value is compared to the 6 expression in each 7 clause until one of them is equal. When an equal 6 is found, the corresponding 9 clause 0 executes. If no 6 is equal, the 2 clause 0 executes, if there is one. This syntax cannot be used to test for equality with 4 because 5 is false. See Section 3.3.4.6, “Working with NULL Values”. For the second syntax, each 7 clause 7 expression is evaluated until one is true, at which point its corresponding 9 clause 0 executes. If no 7 is equal, the 2 clause 0 executes, if there is one. If no 6 or 7 matches the value tested and the 4 statement contains no 2 clause, a Case not found for CASE statement error results. Case not found for CASE statement error results. Each 0 consists of one or more SQL statements; an empty 0 is not permitted. To handle situations where no value is matched by any 7 clause, use an 2 containing an empty SELECT * FROM SINHVIEN WHERE TenSV BETWEEN 'A' AND 'B'2 block, as shown in this example. (The indentation used here in the 2 clause is for purposes of clarity only, and is not otherwise significant.) |