Bảng tổng hợp các hàm làm việc với thời gian trong MySQL (tiếp theo)

d52bb1 2024

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


 

Nguồn: zezo.dev