Bảng định dạng và kiểu của các thuộc tính expr và unit

 

unit expr
MICROSECOND MICROSECONDS
SECOND SECONDS
MINUTE MINUTES
HOUR HOURS
DAY DAYS
WEEK WEEKS
MONTH MONTHS
QUARTER QUARTERS
YEAR YEARS
SECOND_MICROSECOND ‘SECONDS.MICROSECONDS’
MINUTE_MICROSECOND ‘MINUTES:SECONDS.MICROSECONDS’
MINUTE_SECOND ‘MINUTES:SECONDS’
HOUR_MICROSECOND ‘HOURS:MINUTES:SECONDS.MICROSECONDS’
HOUR_SECOND ‘HOURS:MINUTES:SECONDS’
HOUR_MINUTE ‘HOURS:MINUTES’
DAY_MICROSECOND ‘DAYS HOURS:MINUTES:SECONDS.MICROSECONDS’
DAY_SECOND ‘DAYS HOURS:MINUTES:SECONDS’
DAY_MINUTE ‘DAYS HOURS:MINUTES’
DAY_HOUR ‘DAYS HOURS’
YEAR_MONTH ‘YEARS-MONTHS’

 

1. DATE_ADD(date, INTERVAL expr unit)

– Cộng vào thời điểm date một giá trị expr thuộc dạng unit

 

STT Đầu vào Đầu ra
1 SELECT DATE_ADD(‘2006-05-12’,INTERVAL 1 MONTH); 2006-06-12

2. DATEDIFF(expr1,expr2)

– Tính số ngày giữa hai khoảng thời gian cụ thể (chỉ phần ngày, tháng, năm của hai khoảng thời gian nay mới được tính toán)

 

STT Đầu vào Đầu ra
1 SELECT DATEDIFF(‘2011-12-30’, ‘2011-12-23 09:22:03’); 7

3. SUBDATE(date, INTERVAL expr unit)

– Trừ vào thời điểm date một giá trị expr thuộc dạng unit

 

STT Đầu vào Đầu ra
1 SELECT SUBDATE(‘2006-05-12’,INTERVAL 1 DAY); 2006-05-11

4. DATE_SUB(date, INTERVAL expr unit)

– Trừ vào thời điểm date một giá trị expr thuộc dạng unit

 

STT Đầu vào Đầu ra
1 SELECT DATE_SUB (‘2006-05-12’,INTERVAL 1 MONTH); 2006-04-12

5. SUBTIME(expr1,expr2)

– Xác định hiệu của expr1 và expr2, giá trị kết quả này có định dạng như expr1

 

STT Đầu vào Đầu ra
1 SELECT SUBTIME(‘2007-12-31 23:59:59.999999′,’1 1:1:1.000002’); 2007-12-30

22:58:58.999997

6. EXTRACT(unit FROM date)

– Xác định chính xác thành phần unit tại thời điểm date

 

STT Đầu vào Đầu ra
1 SELECT EXTRACT(YEAR FROM ‘2011-12-23’); 2011
2 SELECT EXTRACT(YEAR_MONTH FROM ‘2011-12-23 01:02:03’); 201112

7. DATE_FORMAT(date,format)

– Địng dạng thời gian tại thời điểm date với kiểu định dạng format.

 

Bảng các ký hiệu định dạng:

 

Ký hiệu Ý nghĩa
%a Tên viết tắt các ngày trong tuần (Sun, …, Sat )
%b Tên viết tắt các tháng trong năm (Jan, …, Dec )
%c Tháng (0,1, …, 12)
%D Thứ tự các ngày trong tháng (0th, 1st, 2nd, …)
%d Thứ tự các ngày trong tháng (00, 01, …, 31)
%e Thứ tự các ngày trong tháng (0, 1, …, 31)
%f Microseconds (000000..999999)
%H Giờ (00..23)
%h Giờ (01..12)
%I Giờ (01..12)
%i Phút (00..59)
%j Số thứ tự ngày trong năm (001..366)
%k Giờ (0..23)
%l Giờ (1..12)
%M Tên tháng (January..December)
%m Tháng (00..12)
%p AM hoặc PM
%r Giờ (00..12) (hh:mm:ss theo sau bởi AM hoặc PM)
%S Giây (00..59)
%s Giây (00..59)
%T Giờ (00..23) (hh:mm:ss)
%U Số thứ tự tuần trong năm (00..53), khi chủ nhật là ngày đầu tiên của tuần
%u Số thứ tự tuần trong năm (00..53), khi thứ hai là ngày đầu tiên của tuần
%w Số thứ tự của ngày trong tuần (0=Sunday..6=Saturday)

 

 

STT Đầu vào Đầu ra
1 SELECT DATE_FORMAT(‘2009-10-04 22:23:00’, ‘%W %M %Y’); ‘Sunday October 2009’
2 SELECT DATE_FORMAT(‘2007-10-04 22:23:00’, ‘%H:%i:%s’); ’22:23:00′
3 SELECT DATE_FORMAT(‘1999-01-01’, ‘%X %V’); ‘1998 52’
4 SELECT DATE_FORMAT(‘2006-06-01’, ‘%d’); ’01’

 

8. GET_FORMAT({DATE|TIME|DATETIME}, {‘EUR’|’USA’|’JIS’|’ISO’|’INTERNAL’})

– Xác định định dạng thời gian theo từng vùng. Hàm này thường đường sử dụng kết hợp với hàm

DATE_FORMAT

 

STT Đầu vào Đầu ra
1 SELECT DATE_FORMAT(‘2003-10-03′,GET_FORMAT(DATE,’EUR’)); 03.10.2003
2 SELECT STR_TO_DATE(‘10.31.2003′, GET_FORMAT(DATE,’USA’)); 2003-10-31