Chủ Nhật, 23 tháng 7, 2023

Hàm MySQL

MySQL có nhiều hàm tích hợp sẵn. Bao gồm các hàm chứa chuỗi, số, ngày tháng và một số chức năng nâng cao trong MySQL.

MySQL là Hệ thống quản lý cơ sở dữ liệu SQL quan hệ mã nguồn mở phổ biến nhất. MySQL là một trong những RDBMS tốt nhất đang được sử dụng để phát triển các ứng dụng phần mềm dựa trên web khác nhau. MySQL được phát triển, tiếp thị và hỗ trợ bởi MySQL AB, một công ty của Thụy Điển.

Bài này mình có lượm nhặt một số function hữu ích thông dụng trong Mysql.

Để xuyên suốt trong quá trình truy vấn mình tạo một bảng tên là sinh_vien có dữ liệu 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      |
+----+---------+-------------------------+-------+

Bắt đầu nhé:

1. SUM

Hàm SUM trong MySQL được sử dụng để tìm tổng của một trường trong các bản ghi trong bảng.

Nếu muốn tính tổng của tất cả điểm trong cột diem, ta sử dụng lệnh sau:

SELECT SUM(diem) FROM sinh_vien

Kết quả:

+-----------+
| SUM(diem) |
+-----------+
| 66        |
+-----------+

Bạn có thể tính tổng của các bản ghi bởi sử dụng mệnh đề GROUP BY. Ví dụ sau tính tổng tất cả bản ghi liên quan tới một người:

SELECT ho_ten, SUM(diem)
FROM sinh_vien GROUP BY ho_ten;

Kết quả:

+---------+---------+
| ho_ten  |SUM(diem)|
+---------+---------+
| Craig   |17       |
| Emma    |8        |
| Harry   |9        |
| James   |10       |
| John    |8        |
| Lee     |14       |
+---------+---------+

2. MAX

Hàm MySQL MAX được sử dụng để tìm ra bản ghi có giá trị lớn nhất trong một bộ bản ghi. Bây giờ, dựa vào bảng trên, bạn muốn lấy giá trị lớn nhất trong cột diem, bạn sử dụng lệnh sau:

SELECT MAX(diem) FROM sinh_vien;

Kết quả:

+-----------+
| MAX(diem) |
+-----------+
|    10     |
+-----------+

Nếu trong bảng dữ liệu của bạn có nhiều bản ghi có trùng tên chẳng hạn, bạn có thể tìm giá trị lớn nhất cho ho_ten bởi sử dụng mệnh đề GROUP BY, như sau:

SELECT id, ho_ten, MAX(diem) FROM sinh_vien GROUP BY ho_ten;

Kết quả:

+----+---------+---------+
| id | ho_ten  |MAX(diem)|
+----+---------+---------+
| 1  | Craig   |9        |
| 4  | Emma    |8        |
| 7  | Harry   |9        |
| 6  | James   |10       |
| 8  | John    |8        |
| 3  | Lee     |7        |
+----+---------+---------+

3. MIN

Hàm MIN trong MySQL được sử dụng để tìm bản ghi với giá trị nhỏ nhất trong một tập hợp bản ghi.

Bây giờ, dựa vào bảng trên, bạn muốn lấy giá trị nhỏ nhất của cột diem, bạn sử dụng lệnh sau:

SELECT MIN(diem) FROM sinh_vien;

Kết quả:

+-----------+
| MIN(diem) |
+-----------+
|    7      |
+-----------+

Bạn có thể tìm giá trị nhỏ nhất cho cột ho_ten bởi sử dụng mệnh đề GROUP BY, như sau:

SELECT id, ho_ten, MIN(diem)
FROM sinh_vien GROUP BY ho_ten;

Kết quả là:

+----+---------+---------+
| id | ho_ten  |MAX(diem)|
+----+---------+---------+
| 1  | Craig   |8        |
| 4  | Emma    |8        |
| 7  | Harry   |9        |
| 6  | James   |10       |
| 8  | John    |8        |
| 3  | Lee     |7        |
+----+---------+---------+

Hàm MIN trong MySQL Bạn cũng có thể sử dụng hàm MIN cùng với hàm MAX để tìm giá trị nhỏ nhất như sau:

SELECT MIN(diem) min, MAX(diem) max
FROM sinh_vien;

Kết quả:

+---------+----------+
|   min   |   max    |
+---------+----------+
|   7     |  10      |
+---------+----------+

4. AVG

Hàm AVG trong MySQL được sử dụng để tìm giá trị trung bình của một trường trong các bản ghi đa dạng. Bây giờ, dựa vào bảng trên, bạn muốn tính trung bình của tất cả các điểm trong cột diem bạn sử dụng lệnh sau:

SELECT AVG(diem)
FROM sinh_vien;

Kết quả:

+------------+
| AVG(diem)  |
+------------+
|   8.2500   |
+------------+

Bạn có thể lấy giá trị trung bình của các bản ghi đa dạng bởi sử dụng mệnh đề GROUP BY. Ví dụ sau lấy giá trị trung bình của tất cả bản ghi liên quan tới một sinh viên:

SELECT id, ho_ten, AVG(diem)
FROM sinh_vien GROUP BY ho_ten;

Kết quả:

+----+---------+---------+
| id | ho_ten  |MAX(diem)|
+----+---------+---------+
| 1  | Craig   |8.5000   |
| 4  | Emma    |8.0000   |
| 7  | Harry   |9.0000   |
| 6  | James   |10.0000  |
| 8  | John    |8.0000   |
| 3  | Lee     |7.0000   |
+----+---------+---------+

5. COUNT

Hàm COUNT trong MySQL là hàm đơn giản nhất và rất có ích trong việc đếm số bản ghi, được mong chờ để trả về từ một lệnh SELECT.

Mệnh đề GROUP BY trong MySQL Bạn muốn đếm tổng số hàng trong bảng này, ta có lệnh:

SELECT COUNT(*) FROM sinh_vien;

Kết quả

+---------------------------+
| COUNT(*)                  |
+---------------------------+
| 8                         |
+---------------------------+

Tương tự, nếu bạn muốn đếm tổng số bản ghi có diem bằng 9, ta thực hiện:

SELECT COUNT(*) FROM sinh_vien
WHERE diem = 9;

Kết quả

+----------+
| COUNT(*) |
+----------+
|        2 |
+----------+

6. IN Clause

Bạn có thể sử dụng mệnh đề IN để thay thế nhiều điều kiện OR Giả sử dựa trên bảng trên bạn muốn hiển thị các bản ghi với diem bằng 7, 9 và 10. Điều này có thể được thực hiện bằng các điều kiện OR như sau

SELECT id, ho_ten, mon_hoc, diem FROM sinh_vien 
WHERE diem = 7 OR diem = 9 OR diem = 10; 

Kết quả:

+----+---------+-------------------------+-------+
| id |  ho_ten |  mon_hoc                | diem  |
+----+---------+-------------------------+-------+
|  2 | Craig   | Toan Cao cap            |9      |
|  3 | Lee     | Kinh te vi mo           |7      |
|  5 | Lee     | Lap tring C#            |7      |
|  6 | James   | Toan hoc va giai thuat  |10     |
|  7 | Harry   | Mo hinh toan            |9      |
+----+---------+-------------------------+-------+

Tương tự có thể sử dụng mệnh đề IN như sau mà vẫn đạt được kết quả như vậy:

SELECT id, ho_ten, mon_hoc, diem FROM sinh_vien 
WHERE diem IN (7, 9, 10 );

Kết quả:

+----+---------+-------------------------+-------+
| id |  ho_ten |  mon_hoc                | diem  |
+----+---------+-------------------------+-------+
|  2 | Craig   | Toan Cao cap            |9      |
|  3 | Lee     | Kinh te vi mo           |7      |
|  5 | Lee     | Lap tring C#            |7      |
|  6 | James   | Toan hoc va giai thuat  |10     |
|  7 | Harry   | Mo hinh toan            |9      |
+----+---------+-------------------------+-------+

7. BETWEEN Clause

Bạn có thể sử dụng BETWEEN để thay thế một sự kết hợp của điều kiện "lớn hơn hoặc bằng VÀ bé hơn hoặc bằng".

Giả sử dựa theo bảng sinh_vien, bạn muốn tìm thông tin sinh viên có điểm thi từ 7 đến 8 điểm. Điều này có thể được thực hiện bằng cách sử dụng >= và <= điều kiện như sau:

SELECT * FROM sinh_vien 
WHERE diem >= 7 AND diem <= 8;
+----+---------+-------------------------+-------+
| id |  ho_ten |  mon_hoc                | diem  |
+----+---------+-------------------------+-------+
|  1 | Craig   | Quan tri doanh nghiep   |8      |
|  3 | Lee     | Kinh te vi mo           |7      |
|  4 | Emma    | Lap trinh C             |8      |
|  5 | Lee     | Lap tring C#            |7      |
|  8 | John    | Tu tuong Mac-Lenin      |8      |
+----+---------+-------------------------+-------+

Ta sử dụng BETWEEN:

SELECT * FROM sinh_vien 
WHERE diem BETWEEN 7 AND 8; 

Và kết quả cũng trả về như vậy:

+----+---------+-------------------------+-------+
| id |  ho_ten |  mon_hoc                | diem  |
+----+---------+-------------------------+-------+
|  1 | Craig   | Quan tri doanh nghiep   |8      |
|  3 | Lee     | Kinh te vi mo           |7      |
|  4 | Emma    | Lap trinh C             |8      |
|  5 | Lee     | Lap tring C#            |7      |
|  8 | John    | Tu tuong Mac-Lenin      |8      |
+----+---------+-------------------------+-------+

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 idho_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àmMiê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àmMiê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 LIKESo 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ênMiê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 EXTRACTTrí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_DAYTrả 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 MAKETIMETrả 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

Tham khảo nguồn:

https://www.tutorialspoint.com/mysql/mysql-useful-functions.htm

MySQL String Functions

FunctionDescription
ASCIIReturns the ASCII value for the specific character
CHAR_LENGTHReturns the length of a string (in characters)
CHARACTER_LENGTHReturns the length of a string (in characters)
CONCATAdds two or more expressions together
CONCAT_WSAdds two or more expressions together with a separator
FIELDReturns the index position of a value in a list of values
FIND_IN_SETReturns the position of a string within a list of strings
FORMATFormats a number to a format like "#,###,###.##", rounded to a specified number of decimal places
INSERTInserts a string within a string at the specified position and for a certain number of characters
INSTRReturns the position of the first occurrence of a string in another string
LCASEConverts a string to lower-case
LEFTExtracts a number of characters from a string (starting from left)
LENGTHReturns the length of a string (in bytes)
LOCATEReturns the position of the first occurrence of a substring in a string
LOWERConverts a string to lower-case
LPADLeft-pads a string with another string, to a certain length
LTRIMRemoves leading spaces from a string
MIDExtracts a substring from a string (starting at any position)
POSITIONReturns the position of the first occurrence of a substring in a string
REPEATRepeats a string as many times as specified
REPLACEReplaces all occurrences of a substring within a string, with a new substring
REVERSEReverses a string and returns the result
RIGHTExtracts a number of characters from a string (starting from right)
RPADRight-pads a string with another string, to a certain length
RTRIMRemoves trailing spaces from a string
SPACEReturns a string of the specified number of space characters
STRCMPCompares two strings
SUBSTRExtracts a substring from a string (starting at any position)
SUBSTRINGExtracts a substring from a string (starting at any position)
SUBSTRING_INDEXReturns a substring of a string before a specified number of delimiter occurs
TRIMRemoves leading and trailing spaces from a string
UCASEConverts a string to upper-case
UPPERConverts a string to upper-case


MySQL Numeric Functions

FunctionDescription
ABSReturns the absolute value of a number
ACOSReturns the arc cosine of a number
ASINReturns the arc sine of a number
ATANReturns the arc tangent of one or two numbers
ATAN2Returns the arc tangent of two numbers
AVGReturns the average value of an expression
CEILReturns the smallest integer value that is >= to a number
CEILINGReturns the smallest integer value that is >= to a number
COSReturns the cosine of a number
COTReturns the cotangent of a number
COUNTReturns the number of records returned by a select query
DEGREESConverts a value in radians to degrees
DIVUsed for integer division
EXPReturns e raised to the power of a specified number
FLOORReturns the largest integer value that is <= to a number
GREATESTReturns the greatest value of the list of arguments
LEASTReturns the smallest value of the list of arguments
LNReturns the natural logarithm of a number
LOGReturns the natural logarithm of a number, or the logarithm of a number to a specified base
LOG10Returns the natural logarithm of a number to base 10
LOG2Returns the natural logarithm of a number to base 2
MAXReturns the maximum value in a set of values
MINReturns the minimum value in a set of values
MODReturns the remainder of a number divided by another number
PIReturns the value of PI
POWReturns the value of a number raised to the power of another number
POWERReturns the value of a number raised to the power of another number
RADIANSConverts a degree value into radians
RANDReturns a random number
ROUNDRounds a number to a specified number of decimal places
SIGNReturns the sign of a number
SINReturns the sine of a number
SQRTReturns the square root of a number
SUMCalculates the sum of a set of values
TANReturns the tangent of a number
TRUNCATETruncates a number to the specified number of decimal places

MySQL Date Functions

FunctionDescription
ADDDATEAdds a time/date interval to a date and then returns the date
ADDTIMEAdds a time interval to a time/datetime and then returns the time/datetime
CURDATEReturns the current date
CURRENT_DATEReturns the current date
CURRENT_TIMEReturns the current time
CURRENT_TIMESTAMPReturns the current date and time
CURTIMEReturns the current time
DATEExtracts the date part from a datetime expression
DATEDIFFReturns the number of days between two date values
DATE_ADDAdds a time/date interval to a date and then returns the date
DATE_FORMATFormats a date
DATE_SUBSubtracts a time/date interval from a date and then returns the date
DAYReturns the day of the month for a given date
DAYNAMEReturns the weekday name for a given date
DAYOFMONTHReturns the day of the month for a given date
DAYOFWEEKReturns the weekday index for a given date
DAYOFYEARReturns the day of the year for a given date
EXTRACTExtracts a part from a given date
FROM_DAYSReturns a date from a numeric datevalue
HOURReturns the hour part for a given date
LAST_DAYExtracts the last day of the month for a given date
LOCALTIMEReturns the current date and time
LOCALTIMESTAMPReturns the current date and time
MAKEDATECreates and returns a date based on a year and a number of days value
MAKETIMECreates and returns a time based on an hour, minute, and second value
MICROSECONDReturns the microsecond part of a time/datetime
MINUTEReturns the minute part of a time/datetime
MONTHReturns the month part for a given date
MONTHNAMEReturns the name of the month for a given date
NOWReturns the current date and time
PERIOD_ADDAdds a specified number of months to a period
PERIOD_DIFFReturns the difference between two periods
QUARTERReturns the quarter of the year for a given date value
SECONDReturns the seconds part of a time/datetime
SEC_TO_TIMEReturns a time value based on the specified seconds
STR_TO_DATEReturns a date based on a string and a format
SUBDATESubtracts a time/date interval from a date and then returns the date
SUBTIMESubtracts a time interval from a datetime and then returns the time/datetime
SYSDATEReturns the current date and time
TIMEExtracts the time part from a given time/datetime
TIME_FORMATFormats a time by a specified format
TIME_TO_SECConverts a time value into seconds
TIMEDIFFReturns the difference between two time/datetime expressions
TIMESTAMPReturns a datetime value based on a date or datetime value
TO_DAYSReturns the number of days between a date and date "0000-00-00"
WEEKReturns the week number for a given date
WEEKDAYReturns the weekday number for a given date
WEEKOFYEARReturns the week number for a given date
YEARReturns the year part for a given date
YEARWEEKReturns the year and week number for a given date

MySQL Advanced Functions

FunctionDescription
BINReturns a binary representation of a number
BINARYConverts a value to a binary string
CASEGoes through conditions and return a value when the first condition is met
CASTConverts a value (of any type) into a specified datatype
COALESCEReturns the first non-null value in a list
CONNECTION_IDReturns the unique connection ID for the current connection
CONVConverts a number from one numeric base system to another
CONVERTConverts a value into the specified datatype or character set
CURRENT_USERReturns the user name and host name for the MySQL account that the server used to authenticate the current client
DATABASEReturns the name of the current database
IFReturns a value if a condition is TRUE, or another value if a condition is FALSE
IFNULLReturn a specified value if the expression is NULL, otherwise return the expression
ISNULLReturns 1 or 0 depending on whether an expression is NULL
LAST_INSERT_IDReturns the AUTO_INCREMENT id of the last row that has been inserted or updated in a table
NULLIFCompares two expressions and returns NULL if they are equal. Otherwise, the first expression is returned
SESSION_USERReturns the current MySQL user name and host name
SYSTEM_USERReturns the current MySQL user name and host name
USERReturns the current MySQL user name and host name
VERSIONReturns the current version of the MySQL database

=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master