Mục tiêuHỗ 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àmCó 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 Str
Trang 1Built-In Functions in MySQL (Hàm xây dựng sẵn trong MySQL)
Trang 2Mục tiêu
Hỗ trợ người dùng xử lý, thao tác trên các dữ liệu được trả về.
Trang 3Cá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.
Trang 4Hàm thao tác trên dữ liệu kiểu ngày
Trang 5Datetime tronng MySQL
MySQL hỗ trợ 5 kiểu dữ liệu về ngày tháng
Trang 7Các hỗ trợ định dạng
Trang 8Date_Format()- ví dụ
Select date_format(now(),'%d/%m/%Y')
Select date_format(now(),'%d/%m/%y')
Select date_format(now(),'%D/%M/%y')
Trang 11date_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')
Trang 12Danh sách hàm
Trang 13Hàm thao tác trên dữ liệu kiểu chuỗi
Trang 14Cá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
Trang 15Hàm ghép chuỗi
Trang 17Thay 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
Trang 18length : 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')
Trang 19Trí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
Trang 20Trí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)
Trang 21Tì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
Trang 22Một số hàm khác
Length( string )
Lcase( string)
Ucase( string ) Với string là chuỗi cần thao tác
Trang 23Các hàm thao tác trên dữ liệu kiểu số
Trang 24Floor(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)
Trang 25Ví dụ
select floor(16.5235) -> 16 select ceiling(16.1235)->17 select round(16.5356)-> 17
select round ( 16.4356 )-> 16
Trang 26Các hàm thống kê
Trang 27Count()
Đế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.
Trang 29SELECT max( ngay_sinh ) FROM sinhvien
SELECT min( ngay_sinh ) FROM sinhvien
SELECT sum(hoc_bong) FROM sinhvien
Trang 30Các hàm điều khiển
Các cấu trúc điều kiện rẽ nhánh
Trang 31IF (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
Trang 32IF (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
Trang 33CASE 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_value i : khả năng xảy ra giá trị thứ I
Return_value i : giá trị thứ i được trả về khi khả năng
i xảy ra.
Trang 34Case() - 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
Trang 35IFNULL( 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
Trang 36Bà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.