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.
36 trang |
Chia sẻ: lylyngoc | Lượt xem: 2011 | Lượt tải: 1
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.