Các định dạng ngày tháng năm cần nắm trong MySQL:
NOW[]: ngày hiện tại dạng yyyy-mm-dd h:m:s
ví dụ: SELECT NOW[]; //kết quả: 2007-03-28 11:29:30
CURDATE[]: ngày hiện tại dạng yyyy-mm-dd
ví dụ: SELECT CURDATE[]; //kết quả: 2007-03-28
YEAR[]: xác định năm từ 1 ngày cho trước
ví dụ: SELECT YEAR[‘2007-03-28 11:30:14’];//kết quả: 2007
MONTH[]: xác định tháng [1-12] từ 1 ngày cho trước
ví dụ: SELECT
MONTH[‘2007-03-28 11:30:11’] // kết quả: 3
MONTHNAME[]: xác định tháng [January-December] từ 1 ngày cho trước
ví dụ: SELECT MONTH[‘2007-03-28 11:30:11’]//kết quả: March
WEEKOFYEAR[]: thứ tự của tuần trong năm
ví dụ: SELECT WEEKOFYEAR[‘200-03-28’]; //kết quả: 13
WEEKDAY: số thứ tự của ngày trong tuần[0 = Monday, 6 = Sunday]
ví dụ: SELECT WEEKDAY[‘2007-03-28 12:23:50’]; //kết quả: 2 [tương đương thứ 4]
DATE[]: xác định
chính ngày từ 1 biểu thức ngày
ví dụ: SELECT DATE[‘2003-12-31 01:02:03’];
-> ‘2003-12-31’
DATEDIFF[expr1,expr2]: tính số ngày giữa 2 ngày expr1 và expr2, nếu số ngày >0 nghĩa là expr1>expr2 và ngược lại
Ví dụ: SELECT DATEDIFF[‘1997-12-31 23:59:59′,’1997-12-30’];
-> 1
SELECT DATEDIFF[‘1997-11-30 23:59:59′,’1997-12-31’];
-> -31
DATE_ADD[date,INTERVAL expr unit], DATE_SUB[date,INTERVAL expr unit]: cộng[DATE_ADD] hoặc
trừ[DATE_SUB] thêm vào ngày cho trước[date]
trong đó unit bao gồm các giá trị:
- MICROSECOND
- SECOND
- MINUTE
- HOUR
- DAY
- WEEK
- MONTH
- QUARTER
- YEAR
- SECOND_MICROSECOND
- MINUTE_MICROSECOND
- MINUTE_SECOND
- HOUR_MICROSECOND
- HOUR_SECOND
- HOUR_MINUTE
- DAY_MICROSECOND
- DAY_SECOND
- DAY_MINUTE
- DAY_HOUR
- YEAR_MONTH
ví
dụ:
SELECT DATE_ADD[‘1997-12-31 23:59:59’,
-> INTERVAL 1 SECOND];
-> ‘1998-01-01 00:00:00’
SELECT DATE_ADD[‘1997-12-31 23:59:59’,
-> INTERVAL 1 DAY];
-> ‘1998-01-01 23:59:59’
SELECT DATE_ADD[‘1997-12-31 23:59:59’,
-> INTERVAL ‘1:1’ MINUTE_SECOND];
-> ‘1998-01-01 00:01:00’
SELECT DATE_SUB[‘1998-01-01 00:00:00’,
-> INTERVAL ‘1 1:1:1’ DAY_SECOND];
-> ‘1997-12-30 22:58:59’
SELECT DATE_ADD[‘1998-01-01 00:00:00’,
-> INTERVAL ‘-1 10’ DAY_HOUR];
-> ‘1997-12-30 14:00:00’
SELECT DATE_SUB[‘1998-01-02’, INTERVAL 31 DAY];
-> ‘1997-12-02’
SELECT DATE_ADD[‘1992-12-31 23:59:59.000002’,
-> INTERVAL ‘1.999999’ SECOND_MICROSECOND];
-> ‘1993-01-01 00:00:01.000001’
ngoài ra ta có thể dùng cách sau để thay cho DATE_ADD và DATE_SUB:
date + INTERVAL expr unit DATE_ADD[date, INTERVAL expr unit]
date – INTERVAL expr unit DATE_SUB[date, INTERVAL expr
unit]
DATE_FORMAT[date,]: định dạng lại ngày trong mysql theo định dạng của format
ví dụ:
SELECT DATE_FORMAT[‘1997-10-04 22:23:00’, ‘%W %M %Y’];
-> ‘Saturday October 1997’
Các giá trị của format:
%a : Sun,..,Sat
%b : Jan,..,Dec]
%c : Month, 0..12
%D : ngày 0th, 1st, 2nd, 3rd, …
%d : ngày 00..31
%e : ngày 0..31
%f : micro giây 000000..999999
%H : giờ [00..23]
%h : giờ [01..12]
%I : giờ
[01..12]
%i : Phút [00..59]
%j : Ngày trong năm [001..366]
%k : giờ [0..23]
%l : giờ [1..12]
%M : Tháng[January..December]
%m : Tháng [00..12]
%p : AM hoặc PM
%r : Time, 12-hour [hh:mm:ss followed by AM or PM]
%S : Seconds [00..59]
%s : Seconds [00..59]
%T : Time, 24-hour [hh:mm:ss]
%U : Week [00..53], tuần bắt đầu bằng ngày Sunday
%u : Week [00..53], tuần bắt đầu bằng ngày Sunday,dùng với %X
%v : Week [01..53], tuần bắt đầu bằng ngày
Monday,dùng với %x
%W : ngày trong tuần [Sunday..Saturday]
%w : ngày trong tuần [0=Sunday..6=Saturday]
%X : Year for the week where Sunday is the first day of the week, numeric, four digits; used with %V
%x : Year for the week, where Monday is the first day of the week, numeric, four digits; used with %v
%Y : năm [4 ký tự]
%y : năm [2 ký tự: 2 số cuối]
%% : A literal ‘%’ character
%x : x, for any ‘x’ not listed above
DAY[]
ví dụ:
SELECT
DAY[‘2007-03-28’];
-> 28
DAYNAME[]
ví dụ:
SELECT DAYNAME[‘1998-02-05’];
-> ‘Thursday’
DAYOFMONTH[date] : ngày trong tháng 0-31
Ví dụ: SELECT DAYOFMONTH[‘1998-02-03’];
-> 3
DAYOFWEEK[date]: ngày trong tuần [1 = Sunday, 2 = Monday, …, 7 = Saturday]
ví dụ: SELECT DAYOFWEEK[‘1998-02-03’];
-> 3
DAYOFYEAR[date]: ngày trong năm [1-366]
Ví dụ: SELECT DAYOFYEAR[‘1998-02-03’];
-> 34
EXTRACT[unit
FROM date]: lấy đơn vị thời gian unit từ ngày date, với unit có các giá trị giống như unit của DATE_ADD và DATE_SUB
ví dụ: SELECT EXTRACT[YEAR FROM ‘1999-07-02’];
-> 1999
SELECT EXTRACT[YEAR_MONTH FROM ‘1999-07-02 01:02:03’];
-> 199907
SELECT EXTRACT[DAY_MINUTE FROM ‘1999-07-02 01:02:03’];
-> 20102
SELECT EXTRACT[MICROSECOND FROM ‘2003-01-02 10:30:00.00123’];
-> 123
FROM_DAYS[N]: trả về dạng DATE từ 1 số nguyên
ví
dụ:
SELECT FROM_DAYS[729669];
-> ‘1997-10-07’
ADDDATE[date,INTERVAL expr unit] :giống như DATE_ADD[date,INTERVAL expr unit]
SUBDATE[date,INTERVAL expr unit] :giống như DATE_SUB[date,INTERVAL expr unit]
[thongbao]
- Nếu có thắc mắc gì các bạn để lại comment bên dưới mình sẽ trả lời sớm nhất có thể.
- Cảm ơn các bạn đã đọc.
- Nguồn tham khảo Internet.
[/thongbao]