Built-In Functions in MySQL (Hàm xây dựng sẵn trong MySQL)

Có 4 nhóm hàm cơ bản thao tác dựa trên các kiểu dữ liệu  Kiểu ngày (Date Functions)  Kiểu chuỗi (String Functions)  Kiểu số (Numeric Functions)  Các hàm thống kê (Summarising Function)  Ngoài ra còn có các hàm về điều khiển hỗ trợ người dùng thiết lập cấu trúc điều khiển trả về dữ liệu.

pdf36 trang | Chia sẻ: lylyngoc | Lượt xem: 1891 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Built-In Functions in MySQL (Hàm xây dựng sẵn trong MySQL), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Built-In Functions in MySQL (Hàm xây dựng sẵn trong MySQL) Mục tiêu Hỗ trợ người dùng xử lý, thao tác trên các dữ liệu được trả về. Các nhóm hàm Có 4 nhóm hàm cơ bản thao tác dựa trên các kiểu dữ liệu  Kiểu ngày (Date Functions)  Kiểu chuỗi (String Functions)  Kiểu số (Numeric Functions)  Các hàm thống kê (Summarising Function)  Ngoài ra còn có các hàm về điều khiển hỗ trợ người dùng thiết lập cấu trúc điều khiển trả về dữ liệu. Hàm thao tác trên dữ liệu kiểu ngày Datetime tronng MySQL MySQL hỗ trợ 5 kiểu dữ liệu về ngày tháng Hàm Date_Format() Chức năng: Định dạng hiển thị cho ngày theo khuôn dạng định sẵn Cú pháp: Date_Format (ngày, chuỗi định dạng) Các hỗ trợ định dạng Date_Format()- ví dụ Select date_format(now(),'%d/%m/%Y') Select date_format(now(),'%d/%m/%y') Select date_format(now(),'%D/%M/%y') Curdate(), Curtime() Curdate(): trả về ngày tháng năm hiện hành của hệ thống (không có giờ). Curtime(): trả về giờ, phút, giây hiện hành của hệ thống. date_add(), date_sub() Công dụng: cộng hoặc trừ một khoảng thời gian vào một ngày -> kết quả trả về là một ngày mới. Cú pháp Ý nghĩa tham số: Date: ngày Exp: giá trị muốn cộng thêm hoặc trừ (số nguyên) Type: kiểu của giá trị (ngày,tháng, năm,……) date_add(), date_sub()-ví dụ Select date_add(curdate(),interval 6 month) Select date_add('2011-04-30',interval 1 day) Select date_format(date_sub(curdate(),interval 1 month),'%d/%m%Y') Danh sách hàm Hàm thao tác trên dữ liệu kiểu chuỗi Các nhóm hàm Hàm ghép chuỗi Thay đổi một phần của chuỗi Tách chuỗi từ chuỗi đã có Tìm chuỗi con trong chuỗi Hàm ghép chuỗi Ghép chuỗi concat (str1,str2,…) Dùng để nối các chuỗi lại với nhau Ví dụ: Select concat('Đại Học', ‘ ','Võ Trường Toản') Concat_ws(separator,str1,str2,…) Với separator: dấu phân cách chuỗi Ví dụ: Select concat_ws(' ','Đại Học','Võ Trường Toản'); Thay thế chuỗi replace (whole_string,to_be_replaced,replacement) Các tham số: whole_string: Chuỗi gốc to_be_replaced: chuỗi sẽ bị thay thế replacement: chuỗi sẽ thay thế Ví dụ: SELECT REPLACE ('Sinh viên trung cấp','trung cấp','Đại Học Võ Trường Toản') SELECT REPLACE(flowers.ten_hoa,'Bông','Hoa') FROM flowers Chèn chuỗi Insert (string,start_position,length,newstring) Các tham số: string: Chuỗi sẽ bị chèn start_position: vị trí bắt đầu length: chiều dài sẽ bị chèn newstring: chuỗi sẽ được chèn Ví dụ: select insert('hoa bằng lăng đỏ',15,2,'tím') Trích chuỗi Left (string, length) Right(string,length) Mid(string, start_position,length) Substring(string,position) Các tham số string: chuỗi ban đầu length: chiều dài chuỗi muốn trích start_position: vị trí bắt đầu Trích chuỗi – ví dụ select left('Đại Học Võ Trường Toản',7) select right('Đại Học Võ Trường Toản',14) select mid('Đại Học Võ Trường Toản',5,6) select substring('Đại Học Võ Trường Toản',9) Tìm chuỗi Locate (substring,string) Trả về vị trí xuất hiện của substring trong string Ví dụ: select locate('Đại Học','Đại Học Võ Trường Toản')->1 select locate('Học Võ','Đại Học Võ Trường Toản')->5 Một số hàm khác Length(string) Lcase(string) Ucase(string) Với string là chuỗi cần thao tác Ví dụ: select length('Đại Học Võ Trường Toản') select lcase('Đại Học')-> đại học select ucase('Đại Học')-> ĐẠI HỌC Các hàm thao tác trên dữ liệu kiểu số Floor(number): Làm tròn xuống số nguyên gần nhất Ceiling (number): Làm tròn lên số nguyên gần nhất Round(number, [Decimal Places]): Làm tròn lên hoặc xuống số nguyên gần nhất (hoặc làm tròn chính xác đến số thập phân theo yêu cầu) Ví dụ select floor(16.5235) -> 16 select ceiling(16.1235)->17 select round(16.5356)->17 select round(16.4356)->16 Các hàm thống kê Count() Đếm số dòng trong bảng, hoặc số giá trị trong trường. COUNT (*) // đếm số dòng COUNT (field)// đếm số dòng trong trường. Ví dụ 1: SELECT count (*) FROM sinhvien Ví dụ 2: SELECT count(ngay_sinh) FROM sinhvien Một số hàm thống kê Min() Max() Sum() Ví dụ: SELECT max(ngay_sinh) FROM sinhvien SELECT min(ngay_sinh) FROM sinhvien SELECT sum(hoc_bong) FROM sinhvien Các hàm điều khiển Các cấu trúc điều kiện rẽ nhánh IF(condition,true_value,false_value) Trong đó: • Condition: điều kiện kiểm tra -> đúng: trả về true, sai trả về false • True_value: giá trị khi điều kiện đúng • False_value: giá trị khi điều kiện sai IF(condition,true_value,false_value) 1. SELECT if (1>2,'so sánh đúng','so sánh sai') 2. SELECT IF (ngay_sinh is null,‘giá trị ngày sinh bị rỗng',ngay_sinh) FROM sinhvien Case() CASE actual_value WHEN potential_value1THEN return_value WHEN potential_value2 THEN return_value2... etc END Với CASE: giá trị cần xem xét Potential_valuei: khả năng xảy ra giá trị thứ I Return_valuei: giá trị thứ i được trả về khi khả năng i xảy ra. Case() - ví dụ SELECT CASE 1 WHEN 1 THEN 'Khoa Anh Văn' WHEN 2 THEN 'Khoa Đông Phương' WHEN 3 THEN 'Khoa Tin Học' WHEN 4 THEN 'Khoa Triết Học‘ END IFNULL(original_value,new_value) Trong đó: • Original_value: giá trị nguồn khác rỗng • New_value: giá trị mới nếu như rỗng Ví dụ: SELECT IFNULL(id_khoa,'id khoa chưa xác định') FROM sinhvien Bài tập Với các hàm vừa sử dụng sử dụng cơ sở dữ liệu quản lý điểm thi để thao tác và kiểm tra.