Các Function trong Mysql (phần 2)
Bài đăng này đã không được cập nhật trong 5 năm
Như trong phần 1 mình xin giới thiệu thêm một số hàm trong Mysql khác nữa Sử dụng lại bảng cũ nhé.
Ta dùng lại bảng sinh_vien
với các dữ liệu như sau:
SELECT * FROM sinh_vien;
+----+---------+-------------------------+-------+
| id | ho_ten | mon_hoc | diem |
+----+---------+-------------------------+-------+
| 1 | Craig | Quan tri doanh nghiep |8 |
| 2 | Craig | Toan Cao cap |9 |
| 3 | Lee | Kinh te vi mo |7 |
| 4 | Emma | Lap trinh C |8 |
| 5 | Lee | Lap tring C# |7 |
| 6 | James | Toan hoc va giai thuat |10 |
| 7 | Harry | Mo hinh toan |9 |
| 8 | John | Tu tuong Mac-Lenin |8 |
+----+---------+-------------------------+-------+
8. GROUP BY
Mệnh đề GROUP BY
trong SQL được sử dụng kết hợp với lệnh SELECT
để sắp xếp dữ liệu đồng nhất vào trong các nhóm.
Lưu ý là mệnh đề GROUP BY
phải theo sau các điều kiện trong mệnh đề WHERE
và phải đứng trước mệnh đề ORDER BY
nếu được sử dụng.
Ví dụ nếu muốn biết tổng điểm tất cả các môn của sinh viên, thì truy vấn GROUP BY
sẽ như sau:
SELECT ho_ten, SUM(diem)
FROM sinh_vien
GROUP BY ho_ten;
Kết quả truy vấn
+---------+---------+
| ho_ten |SUM(diem)|
+---------+---------+
| Craig |17 |
| Emma |8 |
| Harry |9 |
| James |10 |
| John |8 |
| Lee |14 |
+---------+---------+
9. CONCAT
Hàm này được sử dụng để nối hai chuỗi để tạo thành một chuỗi đơn.
Ví dụ:
Ví dụ dựa trên bảng sinh_vien
, bạn muốn nối các cột id
, ho_ten
, và diem
, thì bạn có thể thực hiện điều này sử dụng lệnh:
SELECT CONCAT(id, ho_ten, diem)
FROM sinh_vien;
Kết quả
+-------------------------+
| CONCAT(id, ho_ten, diem)|
+-------------------------+
| 1Craig8 |
| 2Craig9 |
| 3Lee7 |
| 4Emma8 |
| 5Lee7 |
| 6James10 |
| 7Harry9 |
| 8John8 |
+-------------------------+
10. SQRT
Hàm này trong SQL được sử dụng để tính căn bậc hai của bất kỳ số đã cho nào.
Ví dụ
GIả sử, bạn muốn tính căn bậc hai của tất cả diem
, thì bạn có thể thực hiện điều này bởi sử dụng lệnh:
SELECT ho_ten, SQRT(diem)
FROM sinh_vien;
Kết quả:
+---------+-------------------+
| ho_ten |SQRT(diem) |
+---------+-------------------+
| Craig |2.8284271247461903 |
| Craig |3 |
| Lee |2.6457513110645907 |
| Emma |2.8284271247461903 |
| Lee |2.6457513110645907 |
| James |3.1622776601683795 |
| Harry |3 |
| John |2.8284271247461903 |
+---------+-------------------+
11. NUMERIC
Hàm xử lý số trong SQL được sử dụng để thao tác trên các số và thực hiện các phép tính số học. Bảng dưới liệt kê chi tiết các hàm xử lý số này:
Tên hàm | Miêu tả |
---|---|
Hàm ABS() | Trả về giá trị tuyệt đối của biểu thức số |
Hàm ACOS() | Trả về arcos của biểu thức số. Hàm trả về NULL nếu giá trị không trong dãy -1 tới 1 |
Hàm ASIN() | Trả về arcsin của biểu thức số. Hàm trả về NULL nếu giá trị không trong dãy -1 tới 1 |
Hàm ATAN() | Trả về arctan của biểu thức số |
Hàm ATAN2() | Trả về arctan của hai biến đã truyền cho nó |
Hàm BIT_AND() | Trả về kết quả từ phép toán Bitwise AND trên tất cả bit trong biểu thức đã truyền |
Hàm BIT_COUNT() | Trả về biểu diễn chuỗi của giá trị nhị phân đã truyền cho nó |
Hàm BIT_OR() | Trả về kết quả từ phép toán Bitwise OR trên tất cả bit trong biểu thức đã truyền |
Hàm CEIL() | Trả về giá trị nguyên nhỏ nhất mà không nhỏ hơn biểu thức số đã truyền |
Hàm CEILING() | Trả về giá trị nguyên nhỏ nhất mà không nhỏ hơn biểu thức số đã truyền |
Hàm CONV() | Chuyển đổi một biểu thức số từ một hệ cơ số sang hệ cơ số khác |
Hàm COS() | Trả về cos của biểu thức số đã truyền. Biểu thức số nên được biểu diễn bằng giá trị radian |
Hàm COT() | Trả về cotan của biểu thức số đã truyền |
Hàm DEGREES() | Trả về biểu thức số đã được chuyển đổi từ radian sang độ |
Hàm EXP() | Trả về giá trị hàm mũ với cơ số e |
Hàm FLOOR() | Trả về giá trị nguyên lớn nhất mà không lớn hơn biểu thức số đã truyền |
Hàm FORMAT() | Trả về biểu thức số đã được làm tròn về một số vị trí sau dấu phảy đã cho |
Hàm GREATEST() | Trả về giá trị lớn nhất của các biểu thức input |
Hàm INTERVAL() | Nhận các biểu thức exp1, exp2 và exp3, ... và trả về 0 nếu exp1 là nhỏ hơn exp2, trả về 1 nếu exp1 là nhỏ hơn exp3 và … |
Hàm LEAST() | Trả về giá trị nhỏ nhất trong các biểu thức input đã nhập |
Hàm LOG() | Trả về ln (loga nepe) của biểu thức số đã truyền |
Hàm LOG10() | Trả về log10 của biểu thức số đã truyền |
Hàm MOD() | Trả về phần dư của phép chia hai biểu thức số |
Hàm OCT() | Trả về biểu diễn chuỗi của giá trị cơ số 8 của biểu thức số đã truyền. Trả về NULL nếu giá trị đã truyền là NULL |
Hàm PI() | Trả về giá trị của PI |
Hàm POW() | Trả về giá trị hàm mũ của hai số |
Hàm POWER() | Trả về giá trị hàm mũ của hai số |
Hàm RADIANS() | Trả về giá trị của biểu thức đã truyền sau khi đã chuyển đổi từ độ sang radian |
Hàm ROUND() | Trả về biểu thức số đã được làm tròn về một số nguyên. Có thể được sử dụng để làm tròn một biểu thức số về vị trí sau dấu phảy nào đó |
Hàm SIN() | Trả về sin của biểu thức số đã cho (được cung cấp với giá trị radian) |
Hàm SQRT() | Trả về căn bậc hai của biểu thức số |
Hàm STD() | Trả về độ lệch chuẩn (phương sai) của biểu thức số |
Hàm STDDEV() | Trả về độ lệch chuẩn (phương sai) của biểu thức số |
Hàm TAN() | Trả về tan của biểu thức số đã cho (được cung cấp với giá trị radian) |
Hàm TRUNCATE() | Trả về biểu thức expr1 đã bị cắt về số vị trí sau dấu phảy cụ thể đã được xác định bởi expr2. Nếu expr2 là 0, thì kết quả sẽ không có dấu thập phân |
12. STRING
Hàm xử lý chuỗi trong SQL được sử dụng để thao tác với chuỗi. Ta có bảng liệt kê chi tiết các hàm xử lý chuỗi quan trọng trong SQL.
Tên hàm | Miêu tả |
---|---|
Hàm ASCII() | Trả về giá trị số của ký tự cực tả (bên trái nhất) |
Hàm BIN() | Trả về một biểu diễn chuỗi của tham số |
Hàm BIT_LENGTH() | Trả về độ dài (số bit) của tham số |
Hàm CHAR_LENGTH() | Trả về số ký tự của tham số |
Hàm CHAR() | Trả về ký tự cho mỗi số nguyên đã truyền |
Hàm CHARACTER_LENGTH() | Giống hàm CHAR_LENGTH() |
Hàm CONCAT_WS() | Viết tắt của Concatenate With Separator, là một mẫu hàm CONCAT() đặc biệt |
Hàm CONCAT() | Nối chuỗi |
Hàm CONV() | Chuyển đổi các số sang các cơ số khác nhau |
Hàm ELT() | Trả về chuỗi tại chỉ mục |
Hàm EXPORT_SET() | Trả về một chuỗi để mà với một bit được thiết lập trong bits, bạn lấy một chuỗi con, và với mỗi khi không được thiết lập trong bits, bạn lấy chuỗi off. Các bit trong tham số bits được tính từ phải qua trái |
Hàm FIELD() | Trả về chỉ mục (vị trí) của tham số đầu tiên trong dãy các tham số |
Hàm FIND_IN_SET() | Trả về chỉ mục (vị trí) của tham số đầu tiên trong tham số thứ hai |
Hàm FORMAT() | Trả về một số được định dạng với một vị trí sau dấu thập phân đã cho |
Hàm HEX() | Trả về một biểu diễn chuỗi của một giá trị thuộc hệ cơ số 16 |
Hàm INSERT() | Chèn một chuỗi con tại vị trí đã cho với số ký tự đã xác định |
Hàm INSTR() | Trả về chỉ mục cho sự xuất hiện đầu tiên của chuỗi con |
Hàm LCASE() | Giống hàm LOWER() |
Hàm LEFT() | Trả về ký tự bên trái nhất |
Hàm LENGTH() | Trả về độ dài (số byte) của một chuỗi |
Hàm LOAD_FILE() | Tải file đã được đặt tên |
Hàm LOCATE() | Trả về vị trí của sự xuất hiện đầu tiên của chuỗi con |
Hàm LOWER() | Trả về tham số trong kiểu chữ thường |
Hàm LPAD() | Trả về tham số chuỗi đã được thêm vào bên trái với chuỗi đã cho |
Hàm LTRIM() | Xóa các Leading space (theo dõi ví dụ để hiểu ý nghĩa của leading space nếu bạn chưa biết) |
Hàm MAKE_SET() | Trả về một tập hợp chuỗi được phân biệt bởi dấu phảy mà có bit tương ứng trong tập hợp các bit |
Hàm MID() | Trả về một chuỗi phụ bắt đầu từ vị trí đã cho |
Hàm OCT() | Trả về biểu diễn chuỗi của tham số thuộc hệ cơ số 8 |
Hàm OCTET_LENGTH() | Giống hàm LENGTH() |
Hàm ORD() | Nếu ký tự cực tả của tham số là một ký tự được biểu diễn bởi nhiều byte, trả về mã hóa của ký tự đó |
Hàm POSITION() | Giống hàm LOCATE() |
Hàm QUOTE() | Lấy tham số để sử dụng trong một lệnh SQL |
Hàm REGEXP Pattern matching (so khớp mẫu) | sử dụng Regular Expression |
Hàm REPEAT() | Lặp lại một chuỗi với số lần đã cho |
Hàm REPLACE() | Thay thế một chuỗi đã cho nếu xuất hiện |
Hàm REVERSE() | Đảo ngược các ký tự trong một chuỗi |
Hàm RIGHT() | Trả về ký tự bên phải nhất |
Hàm RPAD() | Phụ thêm chuỗi với số lần đã cho |
Hàm RTRIM() | Gỡ bỏ các Trailing space |
Hàm SOUNDEX() | Trả về một chuỗi soundex |
Hàm SOUNDS LIKE | So sánh các sound |
Hàm SPACE() | Trả về một chuỗi gồm số khoảng trống đã cho |
Hàm STRCMP() | So sánh hai chuỗi |
Hàm SUBSTRING_INDEX() | Trả về một chuỗi con từ một chuỗi trước số lần xuất hiện đã cho của delimiter |
Hàm SUBSTRING(), SUBSTR() | Trả về chuỗi phụ như đã xác định |
Hàm TRIM() | Gỡ bỏ Leading và Trailing space |
Hàm UCASE() | Giống hàm UPPER() |
Hàm UNHEX() | Chuyển đổi mỗi cặp chữ số thập lục phân thành một ký tự |
Hàm UPPER() | Chuyển đổi thành chữ hoa |
13. DATE & TIME
Bảng dưới liệt kê tất cả các hàm quan trọng liên quan tới xử lý Date và Time trong SQL. Có các hàm đa dạng khác nhau được hỗ trợ bởi RDBMS. Danh sách dưới đây dựa trên MySQL RDBMS.
Tên | Miêu tả |
---|---|
Hàm ADDDATE() | Cộng các date |
Hàm ADDTIME() | Cộng time |
Hàm CONVERT_TZ() | Chuyển đổi từ một Timezone tới Timezone khác |
Hàm CURDATE() | Trả về date hiện tại |
Hàm CURRENT_DATE() | CURRENT_DATE Giống hàm CURDATE() |
Hàm CURRENT_TIME() | CURRENT_TIME Giống hàm CURTIME() |
Hàm CURRENT_TIMESTAMP() | CURRENT_TIMESTAMP Giống hàm NOW() |
Hàm CURTIME() | Returns the current time |
Hàm DATE_ADD() | Cộng hai date |
Hàm DATE_FORMAT() | Định dạng date như đã được xác định |
Hàm DATE_SUB() | Trừ hai date cho nhau |
Hàm DATE() | Trích một phần của biểu thức biểu diễn date hoặc datetime |
Hàm DATEDIFF() | Trừ hai date cho nhau |
Hàm DAY() | Giống hàm DAYOFMONTH() |
Hàm DAYNAME() | Trả về tên của ngày trong tuần |
Hàm DAYOFMONTH() | Trả về ngày trong tháng (1-31) |
Hàm DAYOFWEEK() | Trả về chỉ mục ngày trong tuần của tham số |
Hàm DAYOFYEAR() | Trả về ngày trong năm (1-366) |
Hàm EXTRACT | Trích một phần biểu diễn của một date |
Hàm FROM_DAYS() | Chuyển đổi một số biểu diễn ngày thành date |
Hàm FROM_UNIXTIME() | Định dạng date ở dạng UNIX timestamp |
Hàm HOUR() | Trích giờ từ biểu thức biểu diễn date |
Hàm LAST_DAY | Trả về ngày cuối cùng của tháng cho tham số |
Hàm LOCALTIME() | , LOCALTIME Giống hàm NOW() |
Hàm LOCALTIMESTAMP, LOCALTIMESTAMP() | Giống hàm NOW() |
Hàm MAKEDATE() | Tạo một date từ năm và ngày trong năm |
Hàm MAKETIME | Trả về một giá trị time đã được ước lượng từ các tham số hour, minute, và second |
Hàm MICROSECOND() | Trả về số microsecond từ tham số |
Hàm MINUTE() | Trả về phút từ tham số |
Hàm MONTH() | Trả về tháng từ date đã truyền |
Hàm MONTHNAME() | Trả về tên tháng |
Hàm NOW() | Trả về date và time hiện tại |
Hàm PERIOD_ADD() | Thêm một period tới một year-month |
Hàm PERIOD_DIFF() | Trả về số các tháng giữa các period |
Hàm QUARTER() | Trả về Quí từ một tham số date |
Hàm SEC_TO_TIME() | Chuyển đổi giây sang định dạng 'HH:MM:SS' |
Hàm SECOND() | Trả về giây (0-59) |
Hàm STR_TO_DATE() | Chuyển đổi một chuỗi thành một date |
Hàm SUBDATE() | Khi được triệu hồi với bat ham số, hàm này giống hàm DATE_SUB() |
Hàm SUBTIME() | Trừ các time cho nhau |
Hàm SYSDATE() | Trả về time tại đó hàm thực thi |
Hàm TIME_FORMAT() | Định dạng ở dạng time |
Hàm TIME_TO_SEC() | Trả về tham số được chuyển đổi thành số giây |
Hàm TIME() | Trích một phần time từ biểu thức đã truyền |
Hàm TIMEDIFF() | Trừ các time cho nhau |
Hàm TIMESTAMP() | Với một tham số đơn, hàm này trả về biểu thức date hoặc datetime. Với hai tham số, nó tính tổng hai tham số |
Hàm TIMESTAMPADD() | Cộng mỗi khoảng thời gian vào một biểu thức datetime |
Hàm TIMESTAMPDIFF() | Trừ đi một khoảng thời gian từ một biểu thức datetime |
Hàm TO_DAYS() | Trả về tham số date đã được chuyển đổi thành các ngày |
Hàm UNIX_TIMESTAMP() | Trả về một UNIX timestamp |
Hàm UTC_DATE() | Trả về UTC date hiện tại |
Hàm UTC_TIME() | Trả về UTC time hiện tại |
Hàm UTC_TIMESTAMP() | Trả về UTC date và time hiện tại |
Hàm WEEK() | Trả về số tuần |
Hàm WEEKDAY() | Trả về chỉ mục số ngày trong tuần |
Hàm WEEKOFYEAR() | Trả về tuần theo lịch (1-53) của date |
Hàm YEAR() | Trả về năm |
Hàm YEARWEEK() | Trả về năm và tuần |
Nguồn tham khảo: https://www.tutorialspoint.com
All rights reserved