ham xu ly date trong sql

31 452 1
ham xu ly date trong sql

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

http://vietjack.com/sql/index.jsp Copyright © vietjack.com Hàm xử lý Date Time SQL Bảng liệt kê tất hàm quan trọng liên quan tới xử lý Date Time SQL Có hàm đa dạng khác hỗ trợ RDBMS bạn Danh sách dựa MySQL RDBMS Tên Miêu tả Hàm ADDDATE() Cộng date Hàm ADDTIME() Cộng time Hàm CONVERT_TZ() Chuyển đổi từ Timezone tới Timezone khác Hàm CURDATE() Trả date Hàm CURRENT_DATE(), CURRENT_DATE Giống hàm CURDATE() Hàm CURRENT_TIME(), CURRENT_TIME Giống hàm CURTIME() Hàm CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP Giống hàm NOW() Hàm CURTIME() Returns the current time Hàm DATE_ADD() Cộng hai date Hàm DATE_FORMAT() Định dạng date xác định Hàm DATE_SUB() Trừ hai date cho http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/sql/index.jsp Copyright © vietjack.com Hàm DATE() Trích phần biểu thức biểu diễn date datetime Hàm DATEDIFF() Trừ hai date cho Hàm DAY() Giống hàm DAYOFMONTH() Hàm DAYNAME() Trả tên ngày tuần Hàm DAYOFMONTH() Trả ngày tháng (1-31) Hàm DAYOFWEEK() Trả mục ngày tuần tham số Hàm DAYOFYEAR() Trả ngày năm (1-366) Hàm EXTRACT Trích phần biểu diễn date Hàm FROM_DAYS() Chuyển đổi số biểu diễn ngày thành date Hàm FROM_UNIXTIME() Định dạng date dạng UNIX timestamp Hàm HOUR() Trích từ biểu thức biểu diễn date Hàm LAST_DAY Trả ngày cuối tháng cho tham số Hàm LOCALTIME(), LOCALTIME Giống hàm NOW() Hàm LOCALTIMESTAMP, LOCALTIMESTAMP() Giống hàm NOW() http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/sql/index.jsp Copyright © vietjack.com Hàm MAKEDATE() Tạo date từ năm ngày năm Hàm MAKETIME Trả giá trị time ước lượng từ tham số hour, minute, second Hàm MICROSECOND() Trả số microsecond từ tham số Hàm MINUTE() Trả phút từ tham số Hàm MONTH() Trả tháng từ date truyền Hàm MONTHNAME() Trả tên tháng Hàm NOW() Trả date time Hàm PERIOD_ADD() Thêm period tới year-month Hàm PERIOD_DIFF() Trả số tháng period Hàm QUARTER() Trả Quí từ tham số date Hàm SEC_TO_TIME() Chuyển đổi giây sang định dạng 'HH:MM:SS' Hàm SECOND() Trả giây (0-59) Hàm STR_TO_DATE() Chuyển đổi chuỗi thành date Hàm SUBDATE() Khi triệu hồi với bat ham số, hàm giống hàm DATE_SUB() http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/sql/index.jsp Copyright © vietjack.com Hàm SUBTIME() Trừ time cho Hàm SYSDATE() Trả time hàm thực thi Hàm TIME_FORMAT() Định dạng dạng time Hàm TIME_TO_SEC() Trả tham số chuyển đổi thành số giây Hàm TIME() Trích phần time từ biểu thức truyền Hàm TIMEDIFF() Trừ time cho Hàm TIMESTAMP() Với tham số đơn, hàm trả biểu thức date datetime Với hai tham số, tính tổng hai tham số Hàm TIMESTAMPADD() Cộng khoảng thời gian vào biểu thức datetime Hàm TIMESTAMPDIFF() Trừ khoảng thời gian từ biểu thức datetime Hàm TO_DAYS() Trả tham số date chuyển đổi thành ngày Hàm UNIX_TIMESTAMP() Trả UNIX timestamp Hàm UTC_DATE() Trả UTC date Hàm UTC_TIME() Trả UTC time http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/sql/index.jsp Copyright © vietjack.com Hàm UTC_TIMESTAMP() Trả UTC date time Hàm WEEK() Trả số tuần Hàm WEEKDAY() Trả mục số ngày tuần Hàm WEEKOFYEAR() Trả tuần theo lịch (1-53) date Hàm YEAR() Trả năm Hàm YEARWEEK() Trả năm tuần Hàm ADDDATE(date,INTERVAL expr unit), ADDDATE(expr,days) Khi triệu hồi với tham số thứ hai INTERVAL, hàm ADDDATE() giống hàm DATE_ADD() Hàm SUBDATE() giống hàm DATE_SUB() Để hiểu chi tiết tham số INTERVAL, bạn xem hàm DATE_ADD() mysql> SELECT DATE_ADD('1998-01-02', INTERVAL 31 DAY); + -+ | DATE_ADD('1998-01-02', INTERVAL 31 DAY) | + -+ | 1998-02-02 | + -+ row in set (0.00 sec) mysql> SELECT ADDDATE('1998-01-02', INTERVAL 31 DAY); + -+ | ADDDATE('1998-01-02', INTERVAL 31 DAY) | + -+ | 1998-02-02 | + -+ http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/sql/index.jsp Copyright © vietjack.com row in set (0.00 sec) Khi triệu hồi với days tham số thứ hai, MySQL xem số nguyên để cộng vào expr mysql> SELECT ADDDATE('1998-01-02', 31); + -+ | DATE_ADD('1998-01-02', INTERVAL 31 DAY) | + -+ | 1998-02-02 | + -+ row in set (0.00 sec) Hàm ADDTIME(expr1,expr2) Hàm ADDTIME() cộng expr2 với expr1 trả kết Tham số expr1 biểu thức time datetime, expr2 biểu thức time mysql> SELECT ADDTIME('1997-12-31 23:59:59.999999','1 1:1:1.000002'); + -+ | DATE_ADD('1997-12-31 23:59:59.999999','1 1:1:1.000002') | + -+ | 1998-01-02 01:01:01.000001 | + -+ row in set (0.00 sec) Hàm CONVERT_TZ(dt,from_tz,to_tz) Hàm chuyển đổi giá trị datetime dt từ Timezone cho from_tz sang Timezone cho to_tz trả giá trị kết Hàm trả NULL tham số không hợp lệ mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET'); + -+ | CONVERT_TZ('2004-01-01 12:00:00','GMT','MET') | + -+ | 2004-01-01 13:00:00 | + -+ http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/sql/index.jsp Copyright © vietjack.com row in set (0.00 sec) mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00'); + -+ | CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00') | + -+ | 2004-01-01 22:00:00 | + -+ row in set (0.00 sec) Hàm CURDATE() Trả date dạng giá trị định dạng 'YYYY-MM-DD' YYYYMMDD, phụ thuộc vào hàm sử dụng ngữ cảnh chuỗi hay ngữ cảnh số mysql> SELECT CURDATE(); + -+ | CURDATE() | + -+ | 1997-12-15 | + -+ row in set (0.00 sec) mysql> SELECT CURDATE() + 0; + -+ | CURDATE() + | + -+ | 19971215 | + -+ row in set (0.00 sec) Hàm CURRENT_DATE CURRENT_DATE() Hàm CURRENT_DATE CURRENT_DATE() giống hàm CURDATE() http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/sql/index.jsp Copyright © vietjack.com Hàm CURTIME() Trả time dạng giá trị định dạng 'HH:MM:SS' HHMMSS, phụ thuộc vào hàm sử dụng ngữ cảnh chuỗi ngữ cảnh số Giá trị biểu diễn Timezone mysql> SELECT CURTIME(); + -+ | CURTIME() | + -+ | 23:50:26 | + -+ row in set (0.00 sec) mysql> SELECT CURTIME() + 0; + -+ | CURTIME() + | + -+ | 235026 | + -+ row in set (0.00 sec) Hàm CURRENT_TIME CURRENT_TIME() Hàm CURRENT_TIME CURRENT_TIME() giống hàm CURTIME() Hàm CURRENT_TIMESTAMP CURRENT_TIMESTAMP() Hàm CURRENT_TIMESTAMP CURRENT_TIMESTAMP() giống hàm NOW() Hàm DATE(expr) Trích phần date từ biểu thức expr date datetime mysql> SELECT DATE('2003-12-31 01:02:03'); + -+ | DATE('2003-12-31 01:02:03') | http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/sql/index.jsp Copyright © vietjack.com + -+ | 2003-12-31 | + -+ row in set (0.00 sec) Hàm DATEDIFF(expr1,expr2) DATEDIFF() trả expr1 – expr2 biểu diễn dạng số ngày từ date tới date khác Hai tham số expr1 expr2 biểu thức biểu diễn date datetime Chỉ phần biểu thức sử dụng để tính tốn mysql> SELECT DATEDIFF('1997-12-31 23:59:59','1997-12-30'); + -+ | DATEDIFF('1997-12-31 23:59:59','1997-12-30') | + -+ | | + -+ row in set (0.00 sec) Hàm DATE_ADD(date,INTERVAL expr unit), DATE_SUB(date,INTERVAL expr unit) Các hàm thực phép toán số học date Ở đây, date giá trị DATE DATETIME mà xác định date ban đầu Tham số expr biểu thức xác định giá trị khoảng thời gian để cộng bị trừ từ date ban đầu Tham số expr chuỗi; bắt đầu với dấu '-' cho khoảng thời gian âm unit từ khóa đơn vị biểu thức nên thông dịch Từ khóa INTERVAL unit specifier khơng phân biệt kiểu chữ Bảng liệt kê form tham số expr cho giá trị unit: Giá trị unit Định dạngexpr MICROSECOND MICROSECONDS http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/sql/index.jsp Copyright © vietjack.com SECOND SECONDS MINUTE MINUTES HOUR HOURS DAY DAYS WEEK WEEKS MONTH MONTHS QUARTER QUARTERS YEAR YEARS SECOND_MICROSECOND 'SECONDS.MICROSECONDS' MINUTE_MICROSECOND 'MINUTES.MICROSECONDS' MINUTE_SECOND 'MINUTES:SECONDS' HOUR_MICROSECOND 'HOURS.MICROSECONDS' HOUR_SECOND 'HOURS:MINUTES:SECONDS' HOUR_MINUTE 'HOURS:MINUTES' DAY_MICROSECOND 'DAYS.MICROSECONDS' http://vietjack.com/ Trang chia sẻ học online miễn phí Page 10 http://vietjack.com/sql/index.jsp Copyright © vietjack.com mysql> SELECT FROM_DAYS(729669); + -+ | FROM_DAYS(729669) | + -+ | 1997-10-07 | + -+ row in set (0.00 sec) Hàm FROM_UNIXTIME(unix_timestamp) Hàm FROM_UNIXTIME(unix_timestamp,format) Trả biểu diễn tham số unix_timestamp dạng giá trị định dạng 'YYYYMM-DD HH:MM:SS' YYYYMMDDHHMMSS, phụ thuộc vào hàm sử dụng ngữ cảnh chuỗi hay ngữ cảnh số Giá trị biểu diễn Timezone Tham số unix_timestamp giá trị timestamp nội tạo hàm UNIX_TIMESTAMP() Nếu format cung cấp, kết định dạng theo chuỗi format, mà sử dụng giống cách liệt kê hàm DATE_FORMAT() mysql> SELECT FROM_UNIXTIME(875996580); + -+ | FROM_UNIXTIME(875996580) | + -+ | 1997-10-04 22:23:00 | + -+ row in set (0.00 sec) Hàm HOUR(time) Trả cho time Dãy giá trị trả từ tới 23 Tuy nhiên, dãy giá trị TIME thực lớn hơn, HOUR trả giá trị lớn 23 mysql> SELECT HOUR('10:05:03'); + -+ | HOUR('10:05:03') | + -+ | 10 | http://vietjack.com/ Trang chia sẻ học online miễn phí Page 17 http://vietjack.com/sql/index.jsp Copyright © vietjack.com + -+ row in set (0.00 sec) Hàm LAST_DAY(date) Nhận giá trị date datetime trả giá trị tương ứng cho ngày cuối tháng Trả NULL tham số không hợp lệ mysql> SELECT LAST_DAY('2003-02-05'); + -+ | LAST_DAY('2003-02-05') | + -+ | 2003-02-28 | + -+ row in set (0.00 sec) Hàm LOCALTIME LOCALTIME() Hàm LOCALTIME LOCALTIME() giống hàm NOW() Hàm LOCALTIMESTAMP LOCALTIMESTAMP() Hàm LOCALTIMESTAMP LOCALTIMESTAMP() giống hàm NOW() Hàm MAKEDATE(year,dayofyear) Trả date, với giá trị year dayofyear cho Tham số dayofyear phải lớn không kết trả NULL mysql> SELECT MAKEDATE(2001,31), MAKEDATE(2001,32); + -+ | MAKEDATE(2001,31), MAKEDATE(2001,32) | + -+ | '2001-01-31', '2001-02-01' | + -+ row in set (0.00 sec) Hàm MAKETIME(hour,minute,second) Trả giá trị time ước lượng từ tham số hour, minute, second http://vietjack.com/ Trang chia sẻ học online miễn phí Page 18 http://vietjack.com/sql/index.jsp Copyright © vietjack.com mysql> SELECT MAKETIME(12,15,30); + -+ | MAKETIME(12,15,30) | + -+ | '12:15:30' | + -+ row in set (0.00 sec) Hàm MICROSECOND(expr) Trả số microsecond từ biểu thức expr biểu diễn time datetime dạng số dãy từ tới 999999 mysql> SELECT MICROSECOND('12:00:00.123456'); + -+ | MICROSECOND('12:00:00.123456') | + -+ | 123456 | + -+ row in set (0.00 sec) Hàm MINUTE(time) Trả phút cho time cho, dãy từ tới 59 mysql> SELECT MINUTE('98-02-03 10:05:03'); + -+ | MINUTE('98-02-03 10:05:03') | + -+ | | + -+ row in set (0.00 sec) Hàm MONTH(date) Trả tháng cho date cho, dãy từ tới 12 mysql> SELECT MONTH('1998-02-03') http://vietjack.com/ Trang chia sẻ học online miễn phí Page 19 http://vietjack.com/sql/index.jsp Copyright © vietjack.com + -+ | MONTH('1998-02-03') | + -+ | | + -+ row in set (0.00 sec) Hàm MONTHNAME(date) Trả tên tháng đầy đủ cho date cho mysql> SELECT MONTHNAME('1998-02-05'); + -+ | MONTHNAME('1998-02-05') | + -+ | February | + -+ row in set (0.00 sec) Hàm NOW() Trả date time dạng giá trị định dạng 'YYYY-MM-DD HH:MM:SS' YYYYMMDDHHMMSS, phụ thuộc vào hàm sử dụng ngữ cảnh chuỗi hay ngữ cảnh số Giá trị biểu diễn Timezone mysql> SELECT NOW(); + -+ | NOW() | + -+ | 1997-12-15 23:50:26 | + -+ row in set (0.00 sec) Hàm PERIOD_ADD(P,N) Cộng N tháng vào period P (trong định dạng YYMM YYYYMM) Trả giá trị định dạng YYYYMM Ghi tham số P giá trị date http://vietjack.com/ Trang chia sẻ học online miễn phí Page 20 http://vietjack.com/sql/index.jsp Copyright © vietjack.com mysql> SELECT PERIOD_ADD(9801,2); + -+ | PERIOD_ADD(9801,2) | + -+ | 199803 | + -+ row in set (0.00 sec) Hàm PERIOD_DIFF(P1,P2) Trả số tháng period P1 P2 P1 P2 nên định dạng YYMM YYYYMM Ghi tham số P1 P2 giá trị date mysql> SELECT PERIOD_DIFF(9802,199703); + -+ | PERIOD_DIFF(9802,199703) | + -+ | 11 | + -+ row in set (0.00 sec) Hàm QUARTER(date) Trả Quí năm cho date, dãy giá trị từ tới mysql> SELECT QUARTER('98-04-01'); + -+ | QUARTER('98-04-01') | + -+ | | + -+ row in set (0.00 sec) Hàm SECOND(time) Trả giây cho time cho, phạm vi từ tới 59 mysql> SELECT SECOND('10:05:03'); http://vietjack.com/ Trang chia sẻ học online miễn phí Page 21 http://vietjack.com/sql/index.jsp Copyright © vietjack.com + -+ | SECOND('10:05:03') | + -+ | | + -+ row in set (0.00 sec) Hàm SEC_TO_TIME(seconds) Trả tham số seconds, biến đổi thành giờ, phút, giây, định dạng 'HH:MM:SS' HHMMSS, phục thuộc vào hàm sử dụng ngữ cảnh số hay ngữ cảnh chuỗi mysql> SELECT SEC_TO_TIME(2378); + -+ | SEC_TO_TIME(2378) | + -+ | 00:39:38 | + -+ row in set (0.00 sec) Hàm STR_TO_DATE(str,format) Hàm ngược với hàm DATE_FORMAT() Nó nhận chuỗi str định dạng chuỗi format Hàm STR_TO_DATE() trả giá trị DATETIME định dạng chuỗi chứa hai phần date time giá trị DATE TIME chuỗi chứa phần date time mysql> SELECT STR_TO_DATE('04/31/2004', '%m/%d/%Y'); + -+ | STR_TO_DATE('04/31/2004', '%m/%d/%Y') | + -+ | 2004-04-31 | + -+ row in set (0.00 sec) http://vietjack.com/ Trang chia sẻ học online miễn phí Page 22 http://vietjack.com/sql/index.jsp Copyright © vietjack.com Hàm SUBDATE(date,INTERVAL expr unit) SUBDATE(expr,days) Khi triệu hồi với tham số thứ hai INTERNAL, hàm SUBDATE() giống hàm DATE_SUB() Để có thơng tin chi tiết tham số INTERNAL, bạn theo dõi hàm DATE_ADD() mysql> SELECT DATE_SUB('1998-01-02', INTERVAL 31 DAY); + -+ | DATE_SUB('1998-01-02', INTERVAL 31 DAY) | + -+ | 1997-12-02 | + -+ row in set (0.00 sec) mysql> SELECT SUBDATE('1998-01-02', INTERVAL 31 DAY); + -+ | SUBDATE('1998-01-02', INTERVAL 31 DAY) | + -+ | 1997-12-02 | + -+ row in set (0.00 sec) Hàm SUBTIME(expr1,expr2) Hàm SUBTIME() trả kết expr1 – expr2 biểu diễn dạng giá trị định dạng với expr1 Tham số expr1 biểu thức time datetime, expr2 time mysql> SELECT SUBTIME('1997-12-31 23:59:59.999999', -> '1 1:1:1.000002'); + -+ | SUBTIME('1997-12-31 23:59:59.999999' | + -+ | 1997-12-30 22:58:58.999997 | + -+ row in set (0.00 sec) http://vietjack.com/ Trang chia sẻ học online miễn phí Page 23 http://vietjack.com/sql/index.jsp Copyright © vietjack.com Hàm SYSDATE() Trả date time dạng giá trị định dạng 'YYYY-MM-DD HH:MM:SS' YYYYMMDDHHMMSS, phụ thuộc vào hàm sử dụng ngữ cảnh chuỗi hay ngữ cảnh số mysql> SELECT SYSDATE(); + -+ | SYSDATE() | + -+ | 2006-04-12 13:47:44 | + -+ row in set (0.00 sec) Hàm TIME(expr) Trích phần time từ biểu thức expr biểu diễn time datetime trả dạng chuỗi mysql> SELECT TIME('2003-12-31 01:02:03'); + -+ | TIME('2003-12-31 01:02:03') | + -+ | 01:02:03 | + -+ row in set (0.00 sec) Hàm TIMEDIFF(expr1,expr2) Hàm TIMEDIFF() trả kết expr1 – expr2 biểu diễn dạng giá trị time Tham số expr1 expr2 biểu thức time datetime, hai phải kiểu mysql> SELECT TIMEDIFF('1997-12-31 23:59:59.000001', -> '1997-12-30 01:01:01.000002'); + -+ | TIMEDIFF('1997-12-31 23:59:59.000001' | + -+ | 46:58:57.999999 | + -+ http://vietjack.com/ Trang chia sẻ học online miễn phí Page 24 http://vietjack.com/sql/index.jsp Copyright © vietjack.com row in set (0.00 sec) Hàm TIMESTAMP(expr), TIMESTAMP(expr1,expr2) Với tham số đơn, hàm trả biểu thức expr biểu diễn date datetime dạng giá trị datetime Với hai tham số, hàm tính tổng expr1 expr2 trả kết dạng giá trị datetime mysql> SELECT TIMESTAMP('2003-12-31'); + -+ | TIMESTAMP('2003-12-31') | + -+ | 2003-12-31 00:00:00 | + -+ row in set (0.00 sec) Hàm TIMESTAMPADD(unit,interval,datetime_expr) Cộng biểu thức interval số nguyên vào biểu thức datetime_expr Đơn vị cho interval cung cấp tham số unit, nên giá trị: FRAC_SECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER YEAR Giá trị unit xác định sử dụng từ khóa với tiền tố SQL_TSI_ Ví dụ, DAY SQL_TSI_DAY hợp lệ mysql> SELECT TIMESTAMPADD(MINUTE,1,'2003-01-02'); + -+ | TIMESTAMPADD(MINUTE,1,'2003-01-02') | + -+ | 2003-01-02 00:01:00 | + -+ row in set (0.00 sec) http://vietjack.com/ Trang chia sẻ học online miễn phí Page 25 http://vietjack.com/sql/index.jsp Copyright © vietjack.com Hàm TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2 ) Trả khác (được biểu diễn dạng số nguyên) biểu thức biểu diễn date datetime datetime_expr1 datetime_expr2 Đơn vị cho kết cung cấp tham số unit Các giá trị hợp lệ unit tương tự liệt kê phần miêu tả hàm TIMESTAMPADD() mysql> SELECT TIMESTAMPDIFF(MONTH,'2003-02-01','2003-05-01'); + -+ | TIMESTAMPDIFF(MONTH,'2003-02-01','2003-05-01') | + -+ | | + -+ row in set (0.00 sec) Hàm TIME_FORMAT(time,format) Hàm sử dụng giống hàm DATE_FORMAT(), chuỗi định dạng format chứa hour, minute, second Nếu giá trị time chứa phần lớn 23, %H %k cho giá trị lớn dãy giá trị thường dùng 0…23 mysql> SELECT TIME_FORMAT('100:00:00', '%H %k %h %I %l'); + -+ | TIME_FORMAT('100:00:00', '%H %k %h %I %l') | + -+ | 100 100 04 04 | + -+ row in set (0.00 sec) Hàm TIME_TO_SEC(time) Trả tham số time chuyển đổi thành giây mysql> SELECT TIME_TO_SEC('22:23:00'); http://vietjack.com/ Trang chia sẻ học online miễn phí Page 26 http://vietjack.com/sql/index.jsp Copyright © vietjack.com + -+ | TIME_TO_SEC('22:23:00') | + -+ | 80580 | + -+ row in set (0.00 sec) Hàm TO_DAYS(date) Với date cho, hàm trả số ngày (số ngày từ năm 0) mysql> SELECT TO_DAYS(950501); + -+ | TO_DAYS(950501) | + -+ | 728779 | + -+ row in set (0.00 sec) Hàm UNIX_TIMESTAMP(), UNIX_TIMESTAMP(date) Nếu hàm gọi với tham số, hàm trả Unix Timestamp (số giây từ '1970-01-01 00:00:00' UTC) dạng số unsigned int Nếu hàm gọi với tham số date, trả giá trị tham số dạng số giây từ '1970-01-01 00:00:00' UTC Tham số date chuỗi DATE, chuỗi DATETIME, TIMESTAMP, số định dạng YYMMDD YYYYMMDD mysql> SELECT UNIX_TIMESTAMP(); + -+ | UNIX_TIMESTAMP() | + -+ | 882226357 | + -+ row in set (0.00 sec) mysql> SELECT UNIX_TIMESTAMP('1997-10-04 22:23:00'); http://vietjack.com/ Trang chia sẻ học online miễn phí Page 27 http://vietjack.com/sql/index.jsp Copyright © vietjack.com + -+ | UNIX_TIMESTAMP('1997-10-04 22:23:00') | + -+ | 875996580 | + -+ row in set (0.00 sec) Hàm UTC_DATE, UTC_DATE() Trả UTC date dạng giá trị định dạng 'YYYY-MM-DD' YYYYMMDD, phụ thuộc vào hàm sử dụng ngữ cảnh chuỗi hay ngữ cảnh số mysql> SELECT UTC_DATE(), UTC_DATE() + 0; + -+ | UTC_DATE(), UTC_DATE() + | + -+ | 2003-08-14, 20030814 | + -+ row in set (0.00 sec) Hàm UTC_TIME, UTC_TIME() Trả UTC time dạng giá trị định dạng 'HH:MM:SS' HHMMSS, phụ thuộc vào hàm sử dụng ngữ cảnh chuỗi hay ngữ cảnh số mysql> SELECT UTC_TIME(), UTC_TIME() + 0; + -+ | UTC_TIME(), UTC_TIME() + | + -+ | 18:07:53, 180753 | + -+ row in set (0.00 sec) Hàm UTC_TIMESTAMP, UTC_TIMESTAMP() Trả UTC date time dạng giá trị định dạng 'YYYY-MM-DD HH:MM:SS' YYYYMMDDHHMMSS, phụ thuộc vào hàm sử dụng ngữ cảnh chuỗi hay ngữ cảnh số http://vietjack.com/ Trang chia sẻ học online miễn phí Page 28 http://vietjack.com/sql/index.jsp Copyright © vietjack.com mysql> SELECT UTC_TIMESTAMP(), UTC_TIMESTAMP() + 0; + -+ | UTC_TIMESTAMP(), UTC_TIMESTAMP() + | + -+ | 2003-08-14 18:08:04, 20030814180804 | + -+ row in set (0.00 sec) Hàm WEEK(date[,mode]) Hàm trả số tuần cho date Tham số thứ hai hàm WEEK() cho phép bạn xác định tuần Sunday hay Monday xác định giá trị nên dãy từ tới 53 hay từ tới 53 Nếu tham số mode bị bỏ qua, giá trị biến hệ thống default_week_format sử dụng Mode Ngày tuần Dãy giá trị Week tuần Sunday 0-53 với Sunday năm Monday 0-53 với nhiều ngày năm Sunday 1-53 với Sunday năm Monday 1-53 với nhiều ngày năm Sunday 0-53 với nhiều ngày năm Monday 0-53 với Monday năm Sunday 1-53 với nhiều ngày năm Monday 1-53 với Monday năm http://vietjack.com/ Trang chia sẻ học online miễn phí Page 29 http://vietjack.com/sql/index.jsp Copyright © vietjack.com mysql> SELECT WEEK('1998-02-20'); + -+ | WEEK('1998-02-20') | + -+ | | + -+ row in set (0.00 sec) Hàm WEEKDAY(date) Hàm trả mục ngày tuần cho date (0 = Monday, = Tuesday, = Sunday) mysql> SELECT WEEKDAY('1998-02-03 22:23:00'); + -+ | WEEKDAY('1998-02-03 22:23:00') | + -+ | | + -+ row in set (0.00 sec) Hàm WEEKOFYEAR(date) Hàm trả tuần theo lịch date dạng số dãy từ đến 53 Hàm WEEKOFYEAR() tương đương với hàm WEEK(date,3) mysql> SELECT WEEKOFYEAR('1998-02-20'); + -+ | WEEKOFYEAR('1998-02-20') | + -+ | | + -+ row in set (0.00 sec) Hàm YEAR(date) Trả năm cho date, dãy từ 1000 tới 9999, cho zero date mysql> SELECT YEAR('98-02-03'); http://vietjack.com/ Trang chia sẻ học online miễn phí Page 30 http://vietjack.com/sql/index.jsp Copyright © vietjack.com + -+ | YEAR('98-02-03') | + -+ | 1998 | + -+ row in set (0.00 sec) Hàm YEARWEEK(date), YEARWEEK(date,mode) Hàm trả năm tuần cho date Tham số mode làm việc tương tự tham số mode hàm WEEK() Năm kết trả phải khác năm tham số date, tuần tuần cuối năm mysql> SELECT YEARWEEK('1987-01-01'); + -+ | YEAR('98-02-03')YEARWEEK('1987-01-01') | + -+ | 198653 | + -+ row in set (0.00 sec) http://vietjack.com/ Trang chia sẻ học online miễn phí Page 31 ... ADDDATE(expr,days) Khi triệu hồi với tham số thứ hai INTERVAL, hàm ADDDATE() giống hàm DATE_ ADD() Hàm SUBDATE() giống hàm DATE_ SUB() Để hiểu chi tiết tham số INTERVAL, bạn xem hàm DATE_ ADD() mysql>... thực phép toán số học date Ở đây, date giá trị DATE DATETIME mà xác định date ban đầu Tham số expr biểu thức xác định giá trị khoảng thời gian để cộng bị trừ từ date ban đầu Tham số expr chuỗi;... Hàm YEARWEEK (date) , YEARWEEK (date, mode) Hàm trả năm tuần cho date Tham số mode làm việc tương tự tham số mode hàm WEEK() Năm kết trả phải khác năm tham số date, tuần tuần cuối năm mysql> SELECT

Ngày đăng: 02/12/2017, 12:09

Từ khóa liên quan

Mục lục

  • Hàm xử lý Date và Time trong SQL

    • Hàm ADDDATE(date,INTERVAL expr unit), ADDDATE(expr,days)

    • Hàm ADDTIME(expr1,expr2)

    • Hàm CONVERT_TZ(dt,from_tz,to_tz)

    • Hàm CURDATE()

    • Hàm CURRENT_DATE và CURRENT_DATE()

    • Hàm CURTIME()

    • Hàm CURRENT_TIME và CURRENT_TIME()

    • Hàm CURRENT_TIMESTAMP và CURRENT_TIMESTAMP()

    • Hàm DATE(expr)

    • Hàm DATEDIFF(expr1,expr2)

    • Hàm DATE_ADD(date,INTERVAL expr unit), DATE_SUB(date,INTERVAL expr unit)

    • Hàm DATE_FORMAT(date,format)

    • Hàm DATE_SUB(date,INTERVAL expr unit)

    • Hàm DAY(date)

    • Hàm DAYNAME(date)

    • Hàm DAYOFMONTH(date)

    • Hàm DAYOFWEEK(date)

    • Hàm DAYOFYEAR(date)

    • Hàm EXTRACT(unit FROM date)

    • Hàm FROM_DAYS(N)

Tài liệu cùng người dùng

Tài liệu liên quan