Cơ sở dữ liệu của chúng tôi có một bảng tên là
SELECT ADDDATE['2020-08-04', 10];
95 với dữ liệu trong các cột SELECT ADDDATE['2020-08-04', 10];
96, SELECT ADDDATE['2020-08-04', 10];
97, SELECT ADDDATE['2020-08-04', 10];
98 và SELECT ADDDATE['2020-08-04', 10];
99idfirst_namelast_nametimestamp_of_booking1LisaWatson2019-04-20 14. 15. 342TomSmith2019-03-31 20. 10. 143AndyMarkus2019-08-03 10. 05. 454AliceBrown2019-07-01 12. 47. 54Đối với mỗi khách du lịch, hãy chỉ lấy họ và tên của họ và ngày đặt phòng. [Ghi chú. Cột
SELECT ADDDATE['2020-08-04', 10];
99 chứa cả dữ liệu ngày và giờ. ]Dung dịch
Chúng tôi sẽ sử dụng chức năng
2020-08-1401. Đây là truy vấn bạn sẽ viết
SELECT first_name, last_name, DATE[timestamp_of_booking] AS date_of_booking FROM travel;
Đây là kết quả của truy vấn
first_namelast_namedate_of_bookingLisaWatson2019-04-20TomSmith2019-03-31AndyMarkus2019-08-03AliceBrown2019-07-01Thảo luận
Trong MySQL, sử dụng hàm DATE[] để truy xuất ngày từ giá trị ngày giờ hoặc dấu thời gian. Hàm này chỉ nhận một đối số – có thể là biểu thức trả về giá trị ngày/ngày giờ/dấu thời gian hoặc tên của cột dấu thời gian/ngày giờ. [Trong ví dụ của chúng tôi, chúng tôi sử dụng một cột có kiểu dữ liệu dấu thời gian. ]
Hàm DATE[] chỉ trả về thông tin ngày tháng. Trong ví dụ của chúng tôi, nó trả về ‘2019-03-31’ cho ngày đặt phòng của Tom Smith. Lưu ý rằng thông tin thời gian không được bao gồm
Nó giúp hiểu các kiểu dữ liệu ngày khác nhau và nhiều chức năng có thể được sử dụng với chúng
Trong hướng dẫn này, chúng ta sẽ xem xét các kiểu dữ liệu ngày của MySQL, các hàm ngày và xem một số ví dụ về chúng
Mục lục
- Các kiểu dữ liệu ngày của MySQL
- Định dạng ngày MySQL
- Các hàm ngày của MySQL
- Sự kết luận
Các kiểu dữ liệu ngày của MySQL
Có một số loại dữ liệu trong MySQL có thể chứa ngày tháng
Kiểu dữ liệuGiải thíchPhạm viDATEGiá trị ngày [không có thời gian]1000-01-01 đến 9999-12-31DATETIME [fsp]Một giá trị ngày và giờTham số “fsp” là độ chính xác của giây phân số hoặc số giây phân số có thể được lưu trữ
1000-01-01 00. 00. 00. 000000 đến 9999-12-31 23. 59. 59. 999999TIMESTAMP [fsp]Giá trị dấu thời gian, lưu trữ ngày và giờ. Có phạm vi nhỏ hơn DATETIMETham số “fsp” là độ chính xác của giây phân số hoặc số giây phân số có thể được lưu trữ,
1970-01-01 00. 00. 01. 000000 UTC đến 2038-01-19 03. 14. 07. 999999TIME [fsp]Một giá trị thời gianTham số “fsp” là độ chính xác của giây phân số hoặc số giây phân số có thể được lưu trữ,
-838. 59. 59. 000000 đến 838. 59. 59. 000000YEARA năm ở định dạng 4 chữ số. 1901 đến 2155Có năm loại dữ liệu trong MySQL. Tuy nhiên, hai trong số họ chỉ lưu trữ một phần của một ngày. TIME lưu trữ thời gian và NĂM lưu trữ năm
Hãy tập trung vào các loại dữ liệu có thể lưu trữ một ngày
- NGÀY. được sử dụng cho các giá trị có chứa ngày nhưng không có thời gian
- NGÀY GIỜ. được sử dụng cho các giá trị chứa ngày và giờ
- DẤU THỜI GIAN. được sử dụng cho các giá trị chứa ngày và giờ
Điều thú vị là không có kiểu dữ liệu dành riêng cho múi giờ trong MySQL
Có một vài điểm thú vị khác cần lưu ý về các loại dữ liệu này
DATETIME và TIMESTAMP có thể lưu trữ giây phân số lên đến 6 chữ số thập phân
Khi hiển thị dữ liệu trong các kiểu dữ liệu này, các định dạng hiển thị là
- NGÀY. 'YYYY-MM-DD'
- NGÀY GIỜ. 'YYYY-MM-DD hh. mm. ss [. phân số]'
- DẤU THỜI GIAN. 'YYYY-MM-DD hh. mm. ss [. phân số]'
Múi giờ trong MySQL
MySQL sẽ chuyển đổi một giá trị TIMESTAMP từ múi giờ hiện tại thành múi giờ UTC khi nó được lưu trữ trong cơ sở dữ liệu và sẽ chuyển đổi nó trở lại múi giờ hiện tại khi nó được truy xuất. Điều này không xảy ra đối với DATETIME
Múi giờ được xác định bởi thời gian của máy chủ và có thể được đặt cho kết nối. Bạn có thể kiểm tra múi giờ bằng cách tra cứu biến hệ thống time_zone
Kể từ phiên bản MySQL 8. 0. 19, bạn có thể chỉ định độ lệch múi giờ khi chèn giá trị DATETIME hoặc TIMESTAMP. Bạn làm điều này bằng cách thêm phần bù múi giờ vào cuối giá trị ngày giờ, không có dấu cách
Ý nghĩa giá trị‘2020-08-04 09. 45. 16+04. 00’UTC + 4 giờ‘2020-08-04 09. 45. 16-09. 00’UTC – 9 giờ‘2020-08-04 09. 45. 16+11. 00’UTC + 11 giờ‘2020-08-04 09. 45. 16-10. 30'UTC – 10. 5 giờNếu giá trị giờ nhỏ hơn 10, bạn cần chỉ định số 0 đứng đầu [e. g. 05 thay vì 5]. Không giống như các cơ sở dữ liệu khác, bạn không thể sử dụng các tên múi giờ đã xác định như PST hoặc US/Eastern
Bạn có thể sử dụng một loạt các giá trị offset từ -14. 00 đến +14. 00
Định dạng ngày MySQL
Khi làm việc với ngày tháng, bạn thường cần chỉ định một chuỗi định dạng [ví dụ: khi sử dụng hàm DATE_FORMAT]. Bảng sau đây minh họa các ký tự khác nhau và ý nghĩa của chúng
SpecifierDescription%aTên ngày trong tuần viết tắt [Từ Chủ Nhật đến Thứ Bảy]%bTên tháng viết tắt [Tháng 1 đến Tháng 12]%cTháng, ở dạng số [0 đến 12]%DNgày của tháng có hậu tố tiếng Anh [0, 1, 2, 3,…] . 59]%jNgày của năm [001 đến 366]%kHour [0 đến 23]%lHour [1 đến 12]%MTên đầy đủ tháng [tháng 1 đến tháng 12]%mTháng, ở dạng số [00 đến 12]%pAM hoặc PM% . mm. ss AM hoặc PM]%SSSeconds [00 đến 59]%sSeconds [00 đến 59]%TTime, 24 giờ [hh. mm. ss]%UWeek [00 đến 53], trong đó Chủ nhật là ngày đầu tuần%uWeek [00 đến 53], trong đó Thứ Hai là ngày đầu tiên trong tuần%VWeek [01 đến 53], trong đó Chủ nhật là ngày đầu tiênHãy xem xét các chức năng
Các hàm ngày của MySQL
Đây là danh sách tất cả các hàm ngày tháng trong MySQL
TênMô tảADDDATE[]Thêm giá trị thời gian vào giá trị ngàyADDTIME[]Thêm thời gian vào ngày và giờCONVERT_TZ[]Chuyển đổi giá trị từ múi giờ này sang múi giờ khácCURDATE[]Trả về ngày hiện tạiCURRENT_DATE[]Từ đồng nghĩa với CURDATE[]CURRENT_TIME[]Từ đồng nghĩa với CURTIME[ . Ngược lại với DATE_SUBDATE_FORMAT[]Định dạng một ngày như đã chỉ định bằng cách sử dụng các công cụ xác định định dạngDATE_SUB[]Trừ một giá trị thời gian từ một ngày. Đối diện với DATE_ADDDATEDIFF[]Trừ hai ngàyDAY[] Đồng nghĩa với DAYOFMONTH[]DAYNAME[]Trả về tên của ngày trong tuầnDAYOFMONTH[]Trả về ngày trong tháng [0-31]DAYOFWEEK[]Trả về chỉ số ngày trong tuần của giá trị đã chỉ địnhDAYOFYEAR[] . mm. ss’ formatSECOND[]Trả về thứ hai [0-59]STR_TO_DATE[]Chuyển đổi chuỗi thành dateSUBDATE[]Trừ một số ngày kể từ một ngày. SUBTIME[]Trừ một thời gian từ một datetimeSYSDATE[]Trả về thời gian mà hàm thực thiTIME[]Trích xuất phần thời gian của biểu thức đã truyềnTIME_FORMAT[]Định dạng là timeTIME_TO_SEC[]Trả về giá trị đã chỉ định được chuyển thành giâyTIMEDIFF[]Trừ hai giá trị thời gianTIMESTAMP[ . Với hai đối số, tổng của các đối sốTIMESTAMPADD[]Thêm một khoảng thời gian vào một biểu thức ngày giờTIMESTAMPDIFF[]Trừ một khoảng thời gian khỏi một biểu thức ngày giờTO_DAYS[]Trả về đối số ngày được chuyển đổi thành ngàyTO_SECONDS[]Trả về đối số ngày tháng hoặc ngày giờ được chuyển đổi thành giây kể từ Năm 0UNIX_TIMESTAMPHãy cùng xem cú pháp và một số ví dụ về các hàm này
Nếu bạn muốn biết cách lấy ngày hiện tại trong MySQL, hãy đọc bài đăng này. Cách lấy ngày hiện tại trong SQL
BỔ SUNG
Hàm ADDDATE được sử dụng để thêm một giá trị vào một ngày và trả về một ngày. Nó có thể được sử dụng với hai loại tham số khác nhau
ADDDATE[date, days] ADDDATE[date, INTERVAL expression unit]
Nếu bạn sử dụng ngày làm tham số thứ hai, hàm sẽ thêm số ngày đó vào ngày đã chỉ định
SELECT ADDDATE['2020-08-04', 10];
Kết quả
2020-08-14
Nếu bạn sử dụng INTERVAL làm tham số thứ hai, hàm sẽ thêm số lượng đã chỉ định của bất kỳ đơn vị nào bạn đã chỉ định. Điều này cũng giống như hàm DATE_ADD
SELECT ADDDATE['2020-08-04', INTERVAL 3 DAY];
Kết quả
2020-08-07
SELECT ADDDATE['2020-08-04', INTERVAL 10 MONTH];
Kết quả
2021-06-04
THÊM THỜI GIAN[]
Hàm ADDTIME sẽ cộng cả hai tham số và trả về kết quả. Cú pháp là
________số 8Tham số đầu tiên là ngày giờ hoặc thời gian và tham số thứ hai là thời gian
SELECT ADDTIME['2020-08-04 00:00:00', '05:33:21'];
Kết quả
ADDDATE[date, days] ADDDATE[date, INTERVAL expression unit]0
SELECT ADDDATE['2020-08-04', 10];
0Kết quả
SELECT ADDDATE['2020-08-04', 10];
1
SELECT ADDDATE['2020-08-04', 10];
2Kết quả
SELECT ADDDATE['2020-08-04', 10];
3
CHUYỂN ĐỔI_TZ[]
Hàm CONVERT_TZ sẽ chuyển đổi giá trị ngày giờ từ múi giờ này sang múi giờ khác. Cú pháp là
SELECT ADDDATE['2020-08-04', 10];
4Các giá trị múi giờ có thể là các chuỗi đại diện cho múi giờ được hỗ trợ [e. g. 'GMT'] hoặc chênh lệch múi giờ [e. g. ‘+5. 00’]
SELECT ADDDATE['2020-08-04', 10];
5Kết quả
SELECT ADDDATE['2020-08-04', 10];
6
SELECT ADDDATE['2020-08-04', 10];
7Kết quả
SELECT ADDDATE['2020-08-04', 10];
8
Các múi giờ được đặt tên [e. g. GMT] chỉ có thể được sử dụng nếu các múi giờ được thiết lập đúng cách trong cơ sở dữ liệu MySQL của bạn
HIỆN TẠI []
Hàm CURDATE trả về ngày hiện tại. Nó trả về một chuỗi ở định dạng 'YYYY-MM-DD' hoặc một số ở định dạng YYYYMMDD
SELECT ADDDATE['2020-08-04', 10];
9Kết quả
2020-08-140
2020-08-141
Kết quả
2020-08-142
NGAY HIỆN TẠI[]
Hàm CURRENT_DATE là từ đồng nghĩa với hàm CURDATE đã đề cập ở trên
2020-08-143
Kết quả
2020-08-140
THỜI ĐIỂM HIỆN TẠI[]
Hàm CURRENT_TIME đồng nghĩa với hàm CURTIME được đề cập bên dưới
2020-08-145
Kết quả
2020-08-146
DẤU THỜI GIAN HIỆN TẠI[]
Hàm CURRENT_TIMESTAMP là từ đồng nghĩa với hàm NOW được đề cập bên dưới
2020-08-147
Kết quả
2020-08-148
HIỆN THỜI[]
Hàm CURTIME trả về thời gian hiện tại trong múi giờ phiên. Nó trả về một chuỗi ở định dạng 'hh. mm. ss' hoặc một số ở định dạng hhmmss
2020-08-149
Kết quả
2020-08-146
SELECT ADDDATE['2020-08-04', INTERVAL 3 DAY];
1Kết quả
SELECT ADDDATE['2020-08-04', INTERVAL 3 DAY];
2
NGÀY[]
Hàm DATE trích xuất phần ngày của biểu thức ngày giờ đã chỉ định. Nó trả về ngày của một giá trị chứa ngày và giờ
SELECT ADDDATE['2020-08-04', INTERVAL 3 DAY];
3Kết quả
2020-08-140
DATE_ADD[]
Hàm DATE_ADD thêm khoảng thời gian và đơn vị đã chỉ định vào ngày đã chỉ định. Nó giống như một phiên bản của hàm ADDDATE
SELECT ADDDATE['2020-08-04', INTERVAL 3 DAY];
5Kết quả
SELECT ADDDATE['2020-08-04', INTERVAL 3 DAY];
6
SELECT ADDDATE['2020-08-04', INTERVAL 3 DAY];
7Kết quả
SELECT ADDDATE['2020-08-04', INTERVAL 3 DAY];
8Bạn cũng có thể sử dụng các giá trị khoảng thời gian kết hợp, chẳng hạn như kết hợp phút và giây
SELECT ADDDATE['2020-08-04', INTERVAL 3 DAY];
9Kết quả
2020-08-070
ĐỊNH DẠNG NGÀY THÁNG[]
Hàm DATE_FORMAT định dạng ngày đã chỉ định theo chuỗi định dạng đã chỉ định
2020-08-071
Danh sách đầy đủ các chuỗi định dạng được hiển thị trong bảng Định dạng ngày của MySQL trước đó trong hướng dẫn này. Bạn cần chỉ định ký tự % trước các chỉ định định dạng
2020-08-072
Kết quả
2020-08-073
2020-08-074
Kết quả
2020-08-075
2020-08-076
Kết quả
2020-08-077
DATE_SUB[]
Hàm DATE_SUB sẽ trừ khoảng thời gian và đơn vị đã chỉ định khỏi ngày đã chỉ định. Nó ngược lại với hàm DATE_ADD
2020-08-078
Kết quả
2020-08-079
SELECT ADDDATE['2020-08-04', INTERVAL 10 MONTH];
0Kết quả
SELECT ADDDATE['2020-08-04', INTERVAL 10 MONTH];
1Bạn cũng có thể sử dụng các giá trị khoảng thời gian kết hợp, chẳng hạn như kết hợp phút và giây
SELECT ADDDATE['2020-08-04', INTERVAL 10 MONTH];
2Kết quả
SELECT ADDDATE['2020-08-04', INTERVAL 10 MONTH];
3
DATEDIFF[]
Hàm DATEDIFF trả về số ngày giữa hai ngày đã chỉ định. biểu thức1 – biểu thức2
SELECT ADDDATE['2020-08-04', INTERVAL 10 MONTH];
4Dưới đây là một số ví dụ
SELECT ADDDATE['2020-08-04', INTERVAL 10 MONTH];
5Kết quả
SELECT ADDDATE['2020-08-04', INTERVAL 10 MONTH];
6
SELECT ADDDATE['2020-08-04', INTERVAL 10 MONTH];
7Kết quả
SELECT ADDDATE['2020-08-04', INTERVAL 10 MONTH];
8
SELECT ADDDATE['2020-08-04', INTERVAL 10 MONTH];
9Kết quả
2021-06-040
2021-06-041
Kết quả
2021-06-040
NGÀY[]
Hàm DAY đồng nghĩa với DAYOFMONTH. Nó trả về ngày trong tháng cho ngày đã chỉ định, từ 1 đến 31
2021-06-043
Kết quả
2021-06-044
2021-06-045
Kết quả
2021-06-046
DAYNAME[]
Hàm DAYNAME trả về tên của ngày trong tuần cho ngày đã chỉ định
2021-06-047
Dưới đây là một số ví dụ
2021-06-048
Kết quả
2021-06-049
ADDTIME[expr1, expr2]0
Kết quả
ADDTIME[expr1, expr2]1
NGÀYTHÁNG[]
Hàm DAYOFMONTH sẽ trả về một số đại diện cho ngày trong tháng của ngày đã chỉ định, từ 1 đến 31
ADDTIME[expr1, expr2]2
Kết quả
2021-06-044
ADDTIME[expr1, expr2]4
Kết quả
2021-06-046
NGÀY TRONG TUẦN[]
Hàm DAYOFWEEK sẽ trả về số ngày trong tuần hiện tại của ngày đã chỉ định. Ngày 1 là chủ nhật và ngày 7 là thứ bảy
ADDTIME[expr1, expr2]6
Kết quả
ADDTIME[expr1, expr2]7
ADDTIME[expr1, expr2]8
Kết quả
ADDTIME[expr1, expr2]9
NGÀY NĂM []
Hàm DAYOFYEAR trả về số ngày trong năm hiện tại, từ 1 đến 366
SELECT ADDTIME['2020-08-04 00:00:00', '05:33:21'];
0Kết quả
SELECT ADDTIME['2020-08-04 00:00:00', '05:33:21'];
1
SELECT ADDTIME['2020-08-04 00:00:00', '05:33:21'];
2Kết quả
SELECT ADDTIME['2020-08-04 00:00:00', '05:33:21'];
3
TRÍCH XUẤT[]
Hàm EXTRACT sẽ trích xuất một phần của ngày từ một giá trị ngày đã chỉ định
SELECT ADDTIME['2020-08-04 00:00:00', '05:33:21'];
4Nó sử dụng các chỉ định đơn vị giống như các hàm ngày khác như DATE_ADD và DATE_SUB
SELECT ADDTIME['2020-08-04 00:00:00', '05:33:21'];
5Kết quả
2021-06-044
SELECT ADDTIME['2020-08-04 00:00:00', '05:33:21'];
7Kết quả
SELECT ADDTIME['2020-08-04 00:00:00', '05:33:21'];
8
SELECT ADDTIME['2020-08-04 00:00:00', '05:33:21'];
9Kết quả
ADDDATE[date, days] ADDDATE[date, INTERVAL expression unit]00
ADDDATE[date, days] ADDDATE[date, INTERVAL expression unit]01
Kết quả
ADDDATE[date, days] ADDDATE[date, INTERVAL expression unit]02
FROM_DAYS[]
Hàm FROM_DAYS sẽ chuyển đổi một số đã chỉ định thành giá trị ngày
ADDDATE[date, days] ADDDATE[date, INTERVAL expression unit]03
Kết quả
ADDDATE[date, days] ADDDATE[date, INTERVAL expression unit]04
ADDDATE[date, days] ADDDATE[date, INTERVAL expression unit]05
Kết quả
ADDDATE[date, days] ADDDATE[date, INTERVAL expression unit]06
FROM_UNIXTIME[]
Hàm FROM_UNIXTIME sẽ chuyển đổi một giá trị số dấu thời gian Unix được chỉ định thành một ngày giờ
ADDDATE[date, days] ADDDATE[date, INTERVAL expression unit]07
Dưới đây là một số ví dụ
ADDDATE[date, days] ADDDATE[date, INTERVAL expression unit]08
Kết quả
ADDDATE[date, days] ADDDATE[date, INTERVAL expression unit]09
SELECT ADDDATE['2020-08-04', 10];
00Kết quả
SELECT ADDDATE['2020-08-04', 10];
01
GET_FORMAT[]
Hàm GET_FORMAT sẽ trả về một chuỗi định dạng. Nó hữu ích khi được sử dụng với các hàm DATE_FORMAT và STR_TO_DATE
Cú pháp là
SELECT ADDDATE['2020-08-04', 10];
02Như bạn có thể thấy, chỉ có một số cách cụ thể để bạn có thể sử dụng chức năng này. Mỗi người trong số họ có thể được chạy để trả về một kết quả cụ thể
Các giá trị vùng [tham số thứ hai] có nghĩa là
- EUR. định dạng châu Âu
- Hoa Kỳ. định dạng Hoa Kỳ
- JIS. định dạng tiếng nhật
- iso. Định dạng cho ISO 9075
- NỘI BỘ. Định dạng nội bộ mặc định
Đây là những gì mỗi người trong số họ trở lại
Ví dụResultGET_FORMAT[DATE, ‘EUR’]%d. %m. %YGET_FORMAT[DATE, ‘USA’]%m. %d. %YGET_FORMAT[DATE, 'JIS']%Y-%m-%dGET_FORMAT[DATE, 'ISO']%Y-%m-%dGET_FORMAT[DATE, 'INTERNAL']%Y%m%dGET_FORMAT[TIME, 'EUR . %tôi. %sGET_FORMAT[TIME, ‘USA’]%h. %tôi. %s %pGET_FORMAT[TIME, ‘JIS’]%H. %tôi. %sGET_FORMAT[TIME, ‘ISO’]%H. %tôi. %sGET_FORMAT[TIME, ‘NỘI BỘ’]%H%i%sGET_FORMAT[DATETIME, ‘EUR’]%Y-%m-%d %H. %tôi. %sGET_FORMAT[DATETIME, ‘USA’]%Y-%m-%d %H. %tôi. %sGET_FORMAT[DATETIME, ‘JIS’]%Y-%m-%d %H. %tôi. %sGET_FORMAT[DATETIME, ‘ISO’]%Y-%m-%d %H. %tôi. %sGET_FORMAT[DATETIME, ‘NỘI BỘ’]%Y%m%d%H%i%s
GIỜ[]
Hàm HOUR trả về số giờ cho thời gian đã chỉ định. Nó có thể lớn hơn 24
SELECT ADDDATE['2020-08-04', 10];
03Kết quả
SELECT ADDDATE['2020-08-04', 10];
04
SELECT ADDDATE['2020-08-04', 10];
05Kết quả
SELECT ADDDATE['2020-08-04', 10];
06
NGÀY CUỐI[]
Hàm LAST_DAY sẽ trả về một ngày đại diện cho ngày cuối cùng của cùng một tháng của giá trị đã chỉ định
Nếu bạn cung cấp ngày tháng, hàm này sẽ trả về ngày cuối cùng của tháng đó
SELECT ADDDATE['2020-08-04', 10];
07Kết quả
SELECT ADDDATE['2020-08-04', 10];
08
SELECT ADDDATE['2020-08-04', 10];
09Kết quả
SELECT ADDDATE['2020-08-04', 10];
10
GIỜ ĐỊA PHƯƠNG[]
Hàm LOCALTIME đồng nghĩa với hàm NOW và sẽ trả về ngày và giờ hiện tại ở dạng 'YYYY-MM-DD hh. mm. định dạng ss’ hoặc YYYYMMDDhhmmss
SELECT ADDDATE['2020-08-04', 10];
11Kết quả
SELECT ADDDATE['2020-08-04', 10];
12
SELECT ADDDATE['2020-08-04', 10];
13Kết quả
SELECT ADDDATE['2020-08-04', 10];
14
DẤU THỜI GIAN ĐỊA PHƯƠNG[]
Hàm LOCALTIMESTAMP là một từ đồng nghĩa với hàm NOW và sẽ trả về ngày và giờ hiện tại ở dạng 'YYYY-MM-DD hh. mm. định dạng ss’ hoặc YYYYMMDDhhmmss
SELECT ADDDATE['2020-08-04', 10];
15Kết quả
SELECT ADDDATE['2020-08-04', 10];
12
SELECT ADDDATE['2020-08-04', 10];
17Kết quả
SELECT ADDDATE['2020-08-04', 10];
14
MAKEDATE[]
Hàm MAKEDATE sẽ trả về một ngày sử dụng các giá trị ngày và năm đã chỉ định
Cú pháp là
SELECT ADDDATE['2020-08-04', 10];
19Dưới đây là một số ví dụ
SELECT ADDDATE['2020-08-04', 10];
20Kết quả
SELECT ADDDATE['2020-08-04', 10];
21
SELECT ADDDATE['2020-08-04', 10];
22Kết quả
SELECT ADDDATE['2020-08-04', 10];
23
SELECT ADDDATE['2020-08-04', 10];
24Kết quả
SELECT ADDDATE['2020-08-04', 10];
25
SELECT ADDDATE['2020-08-04', 10];
26Kết quả
SELECT ADDDATE['2020-08-04', 10];
27
SELECT ADDDATE['2020-08-04', 10];
28Kết quả
SELECT ADDDATE['2020-08-04', 10];
29
THỜI GIAN THỰC HIỆN[]
Hàm MAKETIME sẽ trả về giá trị thời gian từ các giá trị giờ, phút và giây đã chỉ định
Cú pháp là
SELECT ADDDATE['2020-08-04', 10];
30Dưới đây là một số ví dụ
SELECT ADDDATE['2020-08-04', 10];
31Kết quả
SELECT ADDDATE['2020-08-04', 10];
32
SELECT ADDDATE['2020-08-04', 10];
33Kết quả
SELECT ADDDATE['2020-08-04', 10];
34
MICROSECOND[]
Hàm MICROSECOND sẽ trả về số micro giây từ thời gian hoặc ngày giờ được cung cấp
SELECT ADDDATE['2020-08-04', 10];
35Kết quả
SELECT ADDDATE['2020-08-04', 10];
36
PHÚT[]
Hàm MINUTE sẽ trả về phút từ giá trị thời gian đã chỉ định
SELECT ADDDATE['2020-08-04', 10];
37Kết quả
SELECT ADDDATE['2020-08-04', 10];
38
SELECT ADDDATE['2020-08-04', 10];
39Kết quả
SELECT ADDDATE['2020-08-04', 10];
40
THÁNG[]
Hàm MONTH sẽ trả về tháng của ngày đã chỉ định
SELECT ADDDATE['2020-08-04', 10];
41Kết quả
SELECT ADDTIME['2020-08-04 00:00:00', '05:33:21'];
8
SELECT ADDDATE['2020-08-04', 10];
43Kết quả
SELECT ADDTIME['2020-08-04 00:00:00', '05:33:21'];
8
SELECT ADDDATE['2020-08-04', 10];
45Kết quả
ADDTIME[expr1, expr2]7
MONTHNAME[]
Hàm MONTHNAME sẽ trả về tên đầy đủ của tháng của ngày được chỉ định
SELECT ADDDATE['2020-08-04', 10];
47Kết quả
SELECT ADDDATE['2020-08-04', 10];
48
SELECT ADDDATE['2020-08-04', 10];
49Kết quả
SELECT ADDDATE['2020-08-04', 10];
50
BÂY GIỜ[]
Hàm NOW sẽ trả về ngày và giờ hiện tại ở dạng 'YYYY-MM-DD hh. mm. ss' hoặc định dạng YYYYMMDDhhmmss. Phân số giây cũng có thể được chỉ định
SELECT ADDDATE['2020-08-04', 10];
51Kết quả
SELECT ADDDATE['2020-08-04', 10];
52
SELECT ADDDATE['2020-08-04', 10];
53Kết quả
SELECT ADDDATE['2020-08-04', 10];
54
SELECT ADDDATE['2020-08-04', 10];
55Kết quả
SELECT ADDDATE['2020-08-04', 10];
56
PERIOD_ADD[]
Hàm PERIOD_ADD cho phép bạn thêm một số tháng cụ thể vào đối số "thời gian", đại diện cho một năm và tháng và ở định dạng YYMM hoặc YYYYMM
SELECT ADDDATE['2020-08-04', 10];
57Giá trị được trả về có định dạng YYYYMM
SELECT ADDDATE['2020-08-04', 10];
58Kết quả
ADDDATE[date, days] ADDDATE[date, INTERVAL expression unit]02
SELECT ADDDATE['2020-08-04', 10];
60Kết quả
SELECT ADDDATE['2020-08-04', 10];
61
PERIOD_DIFF[]
Hàm PERIOD_DIFF trả về số tháng giữa hai khoảng thời gian đã chỉ định. Các khoảng thời gian này phải ở định dạng YYYYMM hoặc YYMM. Nếu chu kỳ 1 lớn hơn [xảy ra sau] chu kỳ 2, thì kết quả là âm
SELECT ADDDATE['2020-08-04', 10];
62Dưới đây là một số ví dụ
SELECT ADDDATE['2020-08-04', 10];
63Kết quả
SELECT ADDDATE['2020-08-04', 10];
64
SELECT ADDDATE['2020-08-04', 10];
65Kết quả
SELECT ADDDATE['2020-08-04', 10];
40
PHẦN TƯ[]
Hàm QUARTER sẽ trả về số quý cho ngày được cung cấp. Quý là một số từ 1 đến 4
SELECT ADDDATE['2020-08-04', 10];
67Kết quả
SELECT ADDDATE['2020-08-04', 10];
68
SELECT ADDDATE['2020-08-04', 10];
69Kết quả
SELECT ADDDATE['2020-08-04', 10];
70
SELECT ADDDATE['2020-08-04', 10];
71Kết quả
ADDTIME[expr1, expr2]7
GIÂY_TO_TIME[]
Hàm SEC_TO_TIME chuyển đổi số giây được cung cấp thành giá trị thời gian
SELECT ADDDATE['2020-08-04', 10];
73Kết quả
SELECT ADDDATE['2020-08-04', 10];
74
SELECT ADDDATE['2020-08-04', 10];
75Kết quả
SELECT ADDDATE['2020-08-04', 10];
76
THỨ HAI[]
Hàm SECOND trả về giá trị thứ hai từ một thời điểm đã chỉ định
SELECT ADDDATE['2020-08-04', 10];
77Kết quả
SELECT ADDDATE['2020-08-04', 10];
78
SELECT ADDDATE['2020-08-04', 10];
79Kết quả
SELECT ADDDATE['2020-08-04', 10];
80
STR_TO_DATE[]
Hàm STR_TO_DATE sẽ chuyển đổi chuỗi đã chỉ định bằng định dạng đã chỉ định thành giá trị ngày giờ
SELECT ADDDATE['2020-08-04', 10];
81Nó ngược lại với hàm DATE_FORMAT
SELECT ADDDATE['2020-08-04', 10];
82Kết quả
SELECT ADDDATE['2020-08-04', 10];
83
SELECT ADDDATE['2020-08-04', 10];
84Kết quả
SELECT ADDDATE['2020-08-04', 10];
85
SELECT ADDDATE['2020-08-04', 10];
86Kết quả
SELECT ADDDATE['2020-08-04', 10];
87
PHỤ CẤP []
Hàm SUBDATE sẽ trừ một đơn vị thời gian từ một ngày cụ thể. Nó tương tự như hàm DATE_SUB khi dùng với số ngày
Có hai cách để sử dụng chức năng này
SELECT ADDDATE['2020-08-04', 10];
88Hãy xem một số ví dụ
SELECT ADDDATE['2020-08-04', 10];
89Kết quả
SELECT ADDDATE['2020-08-04', 10];
90
SELECT ADDDATE['2020-08-04', 10];
91Kết quả
SELECT ADDDATE['2020-08-04', 10];
92
SELECT ADDDATE['2020-08-04', 10];
93Kết quả
SELECT ADDDATE['2020-08-04', 10];
94
SUBTIME[]
Hàm SUBTIME sẽ trừ một biểu thức khỏi một biểu thức khác, trong đó biểu thức đầu tiên là thời gian hoặc ngày giờ và biểu thức thứ hai là thời gian
SELECT ADDDATE['2020-08-04', 10];
95Kết quả
SELECT ADDDATE['2020-08-04', 10];
96
SELECT ADDDATE['2020-08-04', 10];
97Kết quả
SELECT ADDDATE['2020-08-04', 10];
98
HỆ THỐNG[]
Hàm SYSDATE trả về ngày và giờ hiện tại, ở định dạng 'YYYY-MM-DD hh. mm. ss'. Có thể chỉ định số giây phân số tùy chọn
SELECT ADDDATE['2020-08-04', 10];
99Kết quả
2020-08-1400
2020-08-1401
Kết quả
2020-08-1402
THỜI GIAN[]
Hàm TIME sẽ trích xuất phần thời gian của thời gian hoặc ngày giờ và trả về dưới dạng chuỗi
2020-08-1403
Kết quả
2020-08-1404
2020-08-1405
Kết quả
2020-08-1406
TIME_FORMAT[]
Hàm TIME_FORMAT sẽ định dạng một giá trị thời gian đã chỉ định thành một định dạng đã chỉ định. Nó tương tự như DATE_FORMAT nhưng chuỗi định dạng chỉ có thể bao gồm các từ xác định giờ, phút, giây và micro giây
2020-08-1407
Kết quả
2020-08-1408
2020-08-1409
Kết quả
2020-08-1410
TIME_TO_SEC[]
Hàm TIME_TO_SEC sẽ trả về giá trị thời gian đã chỉ định được chuyển đổi thành một số giây
2020-08-1411
Kết quả
2020-08-1412
2020-08-1413
Kết quả
2020-08-1414
TIMEDIFF[]
Hàm TIMEDIFF sẽ trả về thời gian là hiệu của hai biểu thức được cung cấp. Cả hai biểu thức đã chỉ định phải cùng loại, thời gian hoặc ngày giờ
2020-08-1415
Kết quả
2020-08-1416
2020-08-1417
Kết quả
2020-08-1418
DẤU THỜI GIAN[]
Hàm TIMESTAMP sẽ thực hiện hai việc. Với một tham số, nó sẽ trả về tham số dưới dạng giá trị ngày giờ. Với hai tham số, nó sẽ thêm tham số thời gian thứ hai vào tham số đầu tiên và trả về giá trị ngày giờ
2020-08-1419
Kết quả
2020-08-1420
2020-08-1421
Kết quả
2020-08-1422
2020-08-1423
Kết quả
2020-08-1424
DẤU THỜI GIANDD[]
Hàm TIMESTAMPADD sẽ thêm số đơn vị đã chỉ định của một khoảng thời gian vào một ngày đã chỉ định
Cú pháp trông như thế này
2020-08-1425
Hãy xem một số ví dụ
2020-08-1426
Kết quả
2020-08-1427
2020-08-1428
Kết quả
2020-08-1429
2020-08-1430
Kết quả
2020-08-1431
DẤU THỜI GIANDIFF[]
Hàm TIMESTAMPDIFF sẽ trả về sự khác biệt giữa hai ngày giờ trong các đơn vị được chỉ định
Cú pháp là
2020-08-1432
Hãy xem một số ví dụ
2020-08-1433
Kết quả
SELECT ADDDATE['2020-08-04', 10];
70
2020-08-1435
Kết quả
2020-08-1436
2020-08-1437
Kết quả
2020-08-1438
TO_DAYS[]
Hàm TO_DAYS sẽ trả về số ngày kể từ năm 0 cho ngày đã chỉ định
2020-08-1439
Kết quả
2020-08-1440
2020-08-1441
Kết quả
2020-08-1442
TO_SECONDS[]
Hàm TO_SECONDS sẽ trả về số giây kể từ năm 0 cho ngày đã chỉ định
2020-08-1443
Kết quả
2020-08-1444
2020-08-1445
Kết quả
2020-08-1446
UNIX_TIMESTAMP[]
Hàm UNIX_TIMESTAMP sẽ thực hiện một trong hai việc
Nếu không có tham số nào được chỉ định, nó sẽ trả về số giây kể từ '1970-01-01 00. 00. 00’
Nếu một tham số được chỉ định, nó sẽ trả về số giây của ngày đó kể từ '1970-01-01 00. 00. 00’
2020-08-1447
Kết quả
2020-08-1448
2020-08-1449
Kết quả
2020-08-1450
UTC_DATE[]
Hàm UTC_DATE sẽ trả về ngày UTC hiện tại dưới dạng giá trị ở định dạng ‘YYYY-MM-DD’ hoặc định dạng YYYYMMDD
2020-08-1451
Kết quả
2020-08-140
2020-08-1453
Kết quả
2020-08-142
UTC_TIME[]
Hàm UTC_TIME sẽ trả về thời gian UTC hiện tại ở dạng 'hh. mm. định dạng ss' hoặc định dạng hhmmss. Nếu tham số giây phân số được chỉ định, nó sẽ trả lại giây phân số cho vị trí đó
2020-08-1455
Kết quả
2020-08-1456
2020-08-1457
Kết quả
2020-08-1458
2020-08-1459
Kết quả
2020-08-1460
UTC_TIMESTAMP[]
Hàm UTC_TIMESTAMP sẽ trả về ngày và giờ UTC hiện tại ở dạng 'YYYY-MM-DD hh. mm. ss' hoặc định dạng YYYYMMDDhhmmss
Nếu tham số giây phân số được chỉ định, nó sẽ trả lại giây phân số cho vị trí đó
2020-08-1461
Kết quả
2020-08-1462
2020-08-1463
Kết quả
2020-08-1464
2020-08-1465
Kết quả
2020-08-1466
TUẦN[]
Hàm WEEK trả về số tuần của ngày đã chỉ định
2020-08-1467
Bạn có thể thêm một tham số chế độ tùy chọn, chỉ định tuần bắt đầu vào ngày nào, tuần bắt đầu bằng số nào và tuần đầu tiên được cấu trúc như thế nào
Đây là cách thông số chế độ hoạt động
Chế độ Ngày bắt đầu BậtPhạm viTuần 1 là tuần đầu tiên có0Chủ nhật0-53a Chủ nhật trong năm nay1Thứ hai0-534 ngày trở lên trong năm nay2Chủ nhật1-53a Chủ nhật trong năm nay3Thứ hai1-534 ngày trở lên trong năm nay4Chủ nhật0-534 ngày trở lên trong năm nay5Thứ hai0-53a Thứ hai trong năm nay6Chủ nhật1-534Dưới đây là một số ví dụ
2020-08-1468
Kết quả
2020-08-1469
2020-08-1470
Kết quả
2020-08-1469
2020-08-1472
Kết quả
2020-08-1473
2020-08-1474
Kết quả
2020-08-1469
NGÀY TRONG TUẦN[]
Hàm WEEKDAY trả về ngày trong tuần cho ngày đã chỉ định, trong đó 0 là Thứ Hai và 6 là Chủ nhật
2020-08-1476
Kết quả
SELECT ADDDATE['2020-08-04', 10];
68
2020-08-1478
Kết quả
ADDTIME[expr1, expr2]9
TUẦN NĂM []
Hàm WEEKOFYEAR trả về tuần dương lịch của ngày. Nó tương đương với TUẦN sử dụng chế độ 3
2020-08-1480
Kết quả
2020-08-1473
2020-08-1482
Kết quả
ADDTIME[expr1, expr2]7
NĂM[]
Hàm NĂM sẽ trả về năm của ngày được chỉ định
2020-08-1484
Kết quả
ADDDATE[date, days] ADDDATE[date, INTERVAL expression unit]00
2020-08-1486
Kết quả
2020-08-1487
NĂMTUẦN[]
Hàm YEARWEEK trả về năm và tuần cho một ngày cụ thể. Tham số thứ hai, được gọi là chế độ, có thể được chỉ định và tham số này hoạt động giống như hàm WEEK
2020-08-1488
Kết quả
2020-08-1489
2020-08-1490
Kết quả
2020-08-1491
2020-08-1492
Kết quả
SELECT ADDDATE['2020-08-04', 10];
61
Sự kết luận
Như bạn có thể thấy, MySQL có khá nhiều hàm ngày tháng. Họ sẽ cho phép bạn làm bất cứ điều gì bạn cần với các ngày, một mình hoặc kết hợp với nhau