NGÀY trong MySQL

Trong bài này mình sẽ hướng dẫn cách sử dụng hàm TIMESTAMP trong MySQL thông qua cú pháp và ví dụ thực tế

NGÀY trong MySQL

Bài viết này đã được đăng tại freetuts. net , không được sao chép dưới mọi hình thức.

1. description

Hàm TIMESTAMP chuyển đổi một biểu thức thành giá trị ngày giờ và nếu được chỉ định sẽ thêm một khoảng thời gian tùy chọn vào giá trị

Kiểu dữ liệu trong MySQL để biết loại dữ liệu mà cột lưu trữ, từ đó có thể truy vấn, tính toán theo giá trị của dữ liệu. MySQL has a basic type (type data)

Type nguyên số liệu trong MySQL

Kiểu Độ dài (byte)Giá trị lưu trữ TINYINT 1-128 lên 128 (số nguyên có dấu) hoặc 0. 255 (unest integer)SMALLINT2-32768. 32767 (số nguyên có dấu) hoặc 0. 65535 (số nguyên không dấu)MEDIUMINT3-8388608. 8388607 (số nguyên có dấu) hoặc 0. 16777215 (số nguyên không dấu)INT4-2147483648. 2147483647 (số nguyên có dấu) hoặc 0. 4294967295 (số nguyên không dấu)BIGINT8-9223372036854775808. 9223372036854775807 (số nguyên có dấu) hoặc 0. 18446744073709551615 (số nguyên không dấu)

Kiểu dữ liệu số thực dấu chấm động trong MySQL

KiểuĐộ dài (byte)Giá trị lưu trữFLOAT4-3. 402823466E+38. -1. 175494351E-38 (có dấu) hoặc 1. 175494351E-38. 3. 402823466E+38 (không dấu)DOUBLE8-1. 7976931348623157E+ 308. -2. 2250738585072014E- 308(có dấu) hoặc 0 và 2. 2250738585072014E-308. 1. 7976931348623157E+ 308 (không dấu)

DOUBLE và FLOAT là kiểu biểu diễn số thực hiện dấu chấm động (gần số chính xác), float sử dụng 4 byte còn double có độ chính xác gấp đôi (sử dụng 8 byte). Ngoài ra, MySQL cho phép sử dụng cú pháp DOUBLE(M,D) và FLOAT(M,D) với M là phần nguyên (số chữ số) và D là phần thập phân - số chữ số sau dấu chấm

Kiểu dữ liệu số thực hiện dấu chấm cố định DECIMAL trong MySQL

SỐ THẬP PHÂN. Số thực dấu chấm cố định đó là số thực nhưng số con số sau dấu chấm - phần thập phân là cố định, ví dụ các số có hai phần thập phân, trong phép toán nó không làm tròn (biểu diễn gần đúng) . 1 + 0. 2 could be 0. 300000001 but with DECIMAL it will be 0. 30). Trong MySQL, các số dạng này được biểu thị bằng kiểu dữ liệu DECIMAL và NUMERIC, nó được biểu diễn cho các số chính xác như tiền tệ. MySQL cũng sử dụng cú pháp DECIMAL(M,D) để xác định rõ phần nguyên và phần thập phân

Kiểu dữ liệu DATE, TIME, DATETIME, TIMESTAMP, YEAR trong MySQL

TypeMô tả Định dạng hiện thịGiá trị lưu trữDATETIMELưu trữ đủ thông tin năm-tháng-ngày-giờ-phút-giâyYYYY-MM-DD HH. MM. SS'1000-01-01 00. 00. 00' đến '9999-12-31 23. 59. 59'DATELưu trữ đủ thông tin năm-tháng-ngàyYYYY-MM-DD'1000-01-01 00. 00. 00' đến '9999-12-31 23. 59. 59 TIMESTAMP Lưu trữ thời gian (năm-tháng-ngày-giờ-phút-giây) của múi giờ hiện tại được chuyển đổi về UTC. Khi truy vấn đọc thì tự động convert về múi giờ hiện tại(múi giờ hiện tại thường là múi giờ của Server). Vì vậy, cùng một giá trị TIMESTAMP, nhưng tùy thuộc vào múi giờ của máy chủ mà giá trị đọc có thể khác nhau. YYYY-MM-DD HH. MM. SS'1970-01-01 00. 00. 01' UTC đến '2038-01-19 03. 14. 07' UTCYEAR Sử dụng 1 byte để lưu trữ từ năm 2155 đến năm 2155 và giá trị 0000

Kiểu ký tự chuỗi dữ liệu trong MySQL

Save the data string MySQL with data type. CHAR, VARCHAR, BINARY, VARBINARY, BLOB, TEXT, ENUM, SET

Định dạng tháng năm cần nắm trong MySQL

HIỆN NAY(). ngày hiện tại ở định dạng yyyy-mm-dd h. m. s
ví dụ. CHỌN NGAY (); . 2007-03-28 11. 29. 30

HIỆN TẠI (). ngày hiện tại ở định dạng yyyy-mm-dd
ví dụ. CHỌN CURDATE(); . 2007-03-28

NĂM(). xác định năm từ 1 ngày cho trước
ví dụ. CHỌN NĂM(‘28-03-2007 11. 30. 14’);//kết quả. 2007

THÁNG(). xác định tháng (1-12) từ 1 ngày cho trước
ví dụ. CHỌN THÁNG(‘2007-03-28 11. 30. 11’) // kết quả. 3

MONTHNAME(). xác định tháng (tháng 1-tháng 12) từ 1 ngày cho trước
ví dụ. CHỌN THÁNG(‘2007-03-28 11. 30. 11’)//kết quả. Bước đều

TUẦN NĂM (). thứ tự của tuần trong năm
ví dụ. CHỌN TUẦN(‘28-03-200’); . 13

NGÀY TRONG TUẦN. thứ tự thứ tự của ngày trong tuần(0 = Thứ hai, 6 = Chủ nhật)
ví dụ. CHỌN NGÀY TUẦN(‘28-03-2007 12. 23. 50’); . 2 (tương đương với thứ 4)

NGÀY(). ngày xác định chính xác từ 1 biểu thức ngày
ví dụ. CHỌN NGÀY(‘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 có nghĩa là expr1>expr2 và ngược lại
Ví dụ. CHỌN DATEDIFF('1997-12-31 23. 59. 59′,’1997-12-30’);
-> 1
CHỌN DATEDIFF('1997-11-30 23. 59. 59′,’1997-12-31’);
-> -31

DATE_ADD(ngày,đơn vị expR INTERVAL), DATE_SUB(ngày,đơn vị expR INTERVAL). cộng(DATE_ADD) hoặc trừ(DATE_SUB) thêm vào ngày trước(date)
in that unitbao gồm các giá trị

  • VI PHI GIÂY
  • THỨ HAI
  • PHÚT
  • GIỜ
  • NGÀY
  • TUẦN
  • THÁNG
  • MỘT PHẦN TƯ
  • NĂM
  • SECOND_MICROSECOND
  • PHÚT_MICROSECOND
  • PHÚT_SECOND
  • HOUR_MICROSECOND
  • HOUR_SECOND
  • GIỜ_PHÚT
  • DAY_MICROSECOND
  • DAY_SECOND
  • DAY_MINUTE
  • DAY_HOUR
  • NĂM THÁNG

ví dụ
CHỌN NGÀY_ADD(‘1997-12-31 23. 59. 59’,
-> THỜI GIAN 1 GIÂY);
-> ‘1998-01-01 00. 00. 00’
CHỌN NGÀY_ADD(‘1997-12-31 23. 59. 59’,
-> THỜI GIAN 1 NGÀY);
-> ‘1998-01-01 23. 59. 59’
CHỌN NGÀY_ADD(‘1997-12-31 23. 59. 59’,
-> THỜI GIAN '1. 1’ PHÚT_SECOND);
-> ‘1998-01-01 00. 01. 00’
CHỌN NGÀY_SUB(‘1998-01-01 00. 00. 00’,
-> THỜI GIAN '1 1. 1. 1’ NGÀY_SECOND);
-> ‘1997-12-30 22. 58. 59’
CHỌN NGÀY_ADD(‘1998-01-01 00. 00. 00’,
-> THỜI GIAN ‘-1 10’ NGÀY_HOUR);
-> ‘1997-12-30 14. 00. 00’
SELECT DATE_SUB(‘1998-01-02’, THỜI GIAN 31 NGÀY);
-> ‘1997-12-02’
CHỌN NGÀY_ADD(‘1992-12-31 23. 59. 59. 000002',
-> THỜI GIAN '1. 999999’ SECOND_MICROSECOND);
-> ‘1993-01-01 00. 00. 01. 000001’

outside the ta could used by the way to instead of DATE_ADD and DATE_SUB
date + INTERVAL expr unit <-> DATE_ADD(date, INTERVAL expr unit)
date – INTERVAL expr unit <-> DATE_SUB(date, INTERVAL expr unit)

DATE_FORMAT(ngày,). định dạng lại ngày trong mysql theo định dạng của định dạng
ví dụ
CHỌN NGÀY_FORMAT(‘1997-10-04 22. 23. 00’, ‘%W %M %Y’);
-> ‘Thứ bảy tháng 10 năm 1997’
The value of format
%một. Mặt trời,. ,Đã ngồi
%b. Tháng một,. ,Tháng mười hai)
%c. Tháng, 0. 12
%D. ngày 0, 1, 2, 3,…
%d. ngày 00. 31
%e. ngày 0. 31
%f. micro giây 000000. 999999
%H. giờ (00. 23)
%h. giờ (01. 12)
%TÔI. giờ (01. 12)
%tôi. Phút (00. 59)
%j. Ngày trong năm (001. 366)
%k. giờ (0. 23)
%l. giờ (1. 12)
%M. Tháng(tháng Giêng. Tháng 12)
%m. Tháng (00. 12)
%P. SÁNG hoặc CHIỀU
%r. Thời gian, 12 giờ (hh. mm. ss theo sau là AM hoặc PM)
%S. giây (00. 59)
%S. giây (00. 59)
%T. Thời gian, 24 giờ (hh. mm. ss)
%U. Tuần (00. 53), tuần bắt đầu bằng ngày Chủ nhật
%u. Tuần (00. 53), week started by Sunday,use with %X
%v. Tuần (01. 53), week started by the Monday,use with %x
%W. ngày trong tuần (Chủ nhật. Thứ bảy)
%w. ngày trong tuần (0=Chủ nhật. 6=thứ bảy)
%X. Năm cho tuần mà Chủ nhật là ngày đầu tuần, dạng số, bốn chữ số;
%x. Năm trong tuần, trong đó Thứ Hai là ngày đầu tuần, dạng số, bốn chữ số;
%Y. năm (4 ký tự)
%y. năm (2 ký tự. 2 end number)
%%. Ký tự ‘%’ theo nghĩa đen
%x. x, cho bất kỳ 'x' nào không được liệt kê ở trên

NGÀY()
ví dụ
CHỌN NGÀY(‘28-03-2007’);
-> 28

DAYNAME()
ví dụ
CHỌN NGÀY TÊN(‘1998-02-05’);
-> ‘Thứ Năm’

NGÀYTHÁNG(ngày). ngày trong tháng 0-31
Ví dụ. CHỌN NGÀY THÁNG(‘1998-02-03’);
-> 3

NGÀY TUẦN(ngày). ngày trong tuần (1 = Chủ Nhật, 2 = Thứ Hai, …, 7 = Thứ Bảy)
ví dụ. CHỌN NGÀY TUẦN(‘1998-02-03’);
-> 3

NGÀY NĂM(ngày). date in year (1-366)
Ví dụ. CHỌN NGÀY NĂM(‘1998-02-03’);
-> 34

TRÍCH (đơn vị TỪ ngày). lấy đơn vị thời gian đơn vị từ ngày, với đơn vị có các giá trị giống như đơn vị của DATE_ADD và DATE_SUB
ví dụ. CHỌN TRÍCH DẪN(NĂM TỪ ‘1999-07-02’);
-> 1999
CHỌN TRÍCH DẪN (NĂM_THÁNG TỪ ‘1999-07-02 01. 02. 03’);
-> 199907
CHỌN TRÍCH DẪN(NGÀY_PHÚT TỪ ‘1999-07-02 01. 02. 03’);
-> 20102
CHỌN TRÍCH DẪN (MICROSECOND TỪ ‘2003-01-02 10. 30. 00. 00123’);
-> 123

TỪ_DAYS(N). return format DATE from 1 integer
ví dụ
CHỌN TỪ_DAYS(729669);
-> ‘1997-10-07’
ADDDATE(ngày,INTERVAL expr đơn vị). same as DATE_ADD(date,INTERVAL expr unit)

SUBDATE(ngày,INTERVAL expr đơn vị). same as DATE_SUB(date,INTERVAL expr unit)

Kết luận

  1. 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ể
  2. Cảm ơn các bạn đã đọc
  3. Nguồn tham khảo Internet