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