Bài giảng thực hành cơ SỞ DỮ liệU



tải về 4.27 Mb.
Chế độ xem pdf
trang25/43
Chuyển đổi dữ liệu13.11.2023
Kích4.27 Mb.
#55638
1   ...   21   22   23   24   25   26   27   28   ...   43
TH CSDL 2015Sep
NEW.Bài giảng CSDL sau nghiệm thu-2023, 6. Đề cương Cơ sở dữ liệu- sau nghiệm thu. 23.02.2022, Chuong01-CSDL
 
3. Hàm REPLACE 
MySQL cung cấp cho một hàm xử lý chuỗi hữu ích là Replace, cho phép thay thế một 
chuỗi trong một cột của một bảng bằng một chuỗi mới. 
Cú pháp của hàm như sau: 
UPDATE  
SET tên cột = REPLACE(tên cột,xâu cần tìm,xâu thay thế) 
WHERE  
Lưu ý: rằng khi tìm kiếm các văn bản để thay thế, MySQL có phân biệt chữ hoa và chữ 
thường. 
Ví dụ: nếu muốn sửa lỗi chính tả trong bảng Product trong cơ sở dữ liệu mẫu, sử dụng 
hàm Replace như sau: 
UPDATE products 
SET productDescription = 
REPLACE(productDescription,'abuot','about') 


57 
Truy vấn sẽ xem xét cột productDescription và tìm thấy tất cả các lần xuất hiện của lỗi 
chính tả 'abuot' và thay thế nó bằng từ chính xác 'about'.
Điều rất quan trọng cần lưu ý rằng trong hàm Replace, tham số đầu tiên là tên trường 
không đặt trong dấu ‘’. Nếu đặt dấu để tên trường như 'field_name’, truy vấn sẽ cập nhật 
nội dung của cột 'field_name’, gây mất dữ liệu. 
Hiện nay hàm Replace không hỗ trợ biểu thức chính quy vì vậy nếu cần phải thay thế 
một chuỗi văn bản bằng một mẫu, cần phải sử dụng hàm do người dùng định nghĩa 
(UDF) từ thư viện bên ngoài. 
4. Hàm IF 
IF là một hàm điều khiển, trả về kết quả là một chuỗi hoặc số dựa trên một điều kiện 
cho trước.
Cú pháp của hàm IF như sau: 
IF(expr,if_true_expr,if_false_expr) 
 Tham số đầu tiên là expr sẽ được kiểm tra là đúng hay sai. Giá trị thực có 
nghĩa là expr không bằng 0 và expr không bằng NULL. Lưu ý rằng NULL là 
một giá trị đặc biệt, không bằng bất cứ điều gì khác, ngay cả bản thân nó. 
 Nếu expr được đánh giá là đúng, hàm IF sẽ trả lại if_true_expr, nếu không nó 
sẽ trả lại if_false_expr. 
Ví dụ: 
SELECT IF(1 = 2,'true','false'); 
Trả về: false 
SELECT IF(1 = 1,' true','false');
Trả về: true 
Ví dụ: Trong bảng khách hàng, không phải tất cả các khách hàng đều có thông tin về 
state. Vì vậy, khi chúng ta lựa chọn khách hàng, thông tin state sẽ hiển thị giá trị NULL, 
không có ý nghĩa cho mục đích báo cáo.
SELECT customerNumber, 
customerName, 


58 
state, 
country 
FROM customers
Chúng ta có thể sử dụng IF để hiển thị trạng thái của khách hàng là N / A nếu nó là 
NULL như sau

SELECT customerNumber, 
customerName, 
IF(state IS NULL,'N/A',state) state, 
country 
FROM customers; 


59 
Ví dụ: Hàm IF cũng rất hữu ích với chức năng tổng hợp.
Giả sử nếu muốn biết có bao 
nhiêu đơn đặt hàng đã vận chuyển và huỷ bỏ cùng một lúc, chúng ta có thể sử dụng IF để 
đếm như sau: 
SELECT SUM(IF(status = 'Shipped',1,0)) AS Shipped, 
SUM(IF(status = 'Cancelled',1,0)) AS Cancelled 
FROM orders; 
Trong truy vấn trên, nếu tình trạng của đơn đặt hàng là SHIPPED hoặc CANCELLED, IF 
sẽ trả lại giá trị 1, nếu không nó trả về 0.
Và sau đó hàm SUM sẽ tính toán tổng số để vận 
chuyển và bị hủy bỏ dựa trên giá trị trả về của hàm IF.

tải về 4.27 Mb.

Chia sẻ với bạn bè của bạn:
1   ...   21   22   23   24   25   26   27   28   ...   43




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương