Các kiểu dữ liệu ngày, DateTime và Timestamp trong MySQL được sử dụng để lưu trữ ngày, ngày và thời gian, giá trị tem thời gian tương ứng. Trong đó một dấu thời gian là một giá trị số đại diện cho số mili giây từ '1970-01-01 00:00:01' UTC (epoch) đến thời gian quy định. MySQL cung cấp một tập hợp các chức năng để thao tác các giá trị này.
Hàm mySQL current_timestamp () là từ đồng nghĩa bây giờ (). Nó được sử dụng để có được giá trị ngày và thời gian hiện tại. Giá trị kết quả là một chuỗi hoặc giá trị số dựa trên bối cảnh và, giá trị được trả về sẽ nằm trong định dạng 'Yyyy-MM-DD HH: MM: SS' hoặc YYYYMMDDHMMSS.CURRENT_TIMESTAMP() function is the synonym for NOW(). It used to get the current date and time value. The resultant value is a string or a numerical value based on the context and, the value returned will be in the 'YYYY-MM-DD hh:mm:ss' or YYYYMMDDhhmmss format.
Cú pháp
Sau đây là cú pháp của hàm trên -
CURRENT_TIMESTAMP();ví dụ 1
Ví dụ sau đây cho thấy việc sử dụng hàm current_timestamp () -CURRENT_TIMESTAMP() function –
mysql> SELECT CURRENT_TIMESTAMP(); +---------------------+ | CURRENT_TIMESTAMP() | +---------------------+ | 2021-07-10 22:11:24 | +---------------------+ 1 row in set (0.00 sec)Ví dụ 2
Sau đây là một ví dụ về hàm này trong bối cảnh số -
mysql> SELECT CURRENT_TIMESTAMP()+0; +-----------------------+ | CURRENT_TIMESTAMP()+0 | +-----------------------+ | 20210710221124 | +-----------------------+ 1 row in set (0.00 sec)Ví dụ 3
Bạn có thể thêm giây vào dấu thời gian hiện tại như được hiển thị bên dưới -
mysql> SELECT CURRENT_TIMESTAMP()+12; +------------------------+ | CURRENT_TIMESTAMP()+12 | +------------------------+ | 20210710221136 | +------------------------+ 1 row in set (0.00 sec)Ví dụ 4
Chúng ta cũng có thể trừ đi số giây mong muốn từ dấu thời gian hiện tại bằng cách sử dụng hàm này -
mysql> SELECT CURRENT_TIMESTAMP()-12; +-------------------+ | CURRENT_TIME()-12 | +-------------------+ | 20210710221112 | +-------------------+ 1 row in set (0.00 sec)Ví dụ 5
Bạn có thể sử dụng current_timestamp thay vì current_timestamp () để truy xuất thời gian hiện tại.CURRENT_TIMESTAMP instead of CURRENT_TIMESTAMP() to retrieve the current time.
mysql> SELECT CURRENT_TIMESTAMP; +---------------------+ | CURRENT_TIMESTAMP | +---------------------+ | 2021-07-10 22:11:24 | +---------------------+ 1 row in set (0.00 sec) mysql> SELECT CURRENT_TIMESTAMP()+0; +-----------------------+ | CURRENT_TIMESTAMP+0 | +-----------------------+ | 20210710221124 | +-----------------------+ 1 row in set (0.00 sec)Ví dụ 6
Giả sử chúng ta đã tạo một bảng có tên Dispatches_data với 5 bản ghi trong đó bằng các truy vấn sau -dispatches_data with 5 records in it using the following queries –
mysql> CREATE TABLE dispatches_data( ProductName VARCHAR(255), CustomerName VARCHAR(255), DispatchTimeStamp timestamp, Price INT, Location VARCHAR(255) ); insert into dispatches_data values('Key-Board', 'Raja', TIMESTAMP('2019-05-04', '15:02:45'), 7000, 'Hyderabad'); insert into dispatches_data values('Earphones', 'Roja', TIMESTAMP('2019-06-26', '14:13:12'), 2000, 'Vishakhapatnam'); insert into dispatches_data values('Mouse', 'Puja', TIMESTAMP('2019-12-07', '07:50:37'), 3000, 'Vijayawada'); insert into dispatches_data values('Mobile', 'Vanaja' , TIMESTAMP ('2018-03-21', '16:00:45'), 9000, 'Chennai'); insert into dispatches_data values('Headset', 'Jalaja' , TIMESTAMP('2018-12-30', '10:49:27'), 6000, 'Goa');Truy vấn sau là một ví dụ khác về chức năng này -
mysql> SELECT ProductName, CustomerName, DispatchTimeStamp, Price, TIMESTAMPDIFF (MINUTE, DispatchTimeStamp, CURRENT_TIMESTAMP) as Difference FROM dispatches_data; +-------------+--------------+---------------------+-------+------------+ | ProductName | CustomerName | DispatchTimeStamp | Price | Difference | +-------------+--------------+---------------------+-------+------------+ | Key-Board | Raja | 2019-05-04 15:02:45 | 7000 | 1149590 | | Earphones | Roja | 2019-06-26 14:13:12 | 2000 | 1073319 | | Mouse | Puja | 2019-12-07 07:50:37 | 3000 | 837542 | | Mobile | Vanaja | 2018-03-21 16:00:45 | 9000 | 1738492 | | Headset | Jalaja | 2018-12-30 10:49:27 | 6000 | 1329843 | +-------------+--------------+---------------------+-------+------------+ 5 rows in set (0.00 sec)Ví dụ 7
Giả sử chúng ta đã tạo một bảng có tên là người đăng ký với 5 bản ghi trong đó bằng các truy vấn sau -SubscriberDetails with 5 records in it using the following queries –
mysql> CREATE TABLE SubscriberDetails ( SubscriberName VARCHAR(255), PackageName VARCHAR(255), SubscriptionTimeStamp timestamp ); insert into SubscriberDetails values('Raja', 'Premium', TimeStamp('2020-10-21 20:53:49')); insert into SubscriberDetails values('Roja', 'Basic', TimeStamp('2020-11-26 10:13:19')); insert into SubscriberDetails values('Puja', 'Moderate', TimeStamp('2021-03-07 05:43:20')); insert into SubscriberDetails values('Vanaja', 'Basic', TimeStamp('2021-02-21 16:36:39')); insert into SubscriberDetails values('Jalaja', 'Premium', TimeStamp('2021-01-30 12:45:45'));Truy vấn sau tính toán và hiển thị số ngày còn lại để đăng ký hoàn tất -
mysql> SELECT SubscriberName, PackageName, TIMESTAMPDIFF(DAY, SubscriptionTimeStamp, CURRENT_TIMESTAMP) as RemainingDays FROM SubscriberDetails; +----------------+-------------+---------------+ | SubscriberName | PackageName | RemainingDays | +----------------+-------------+---------------+ | Raja | Premium | 262 | | Roja | Basic | 226 | | Puja | Moderate | 125 | | Vanaja | Basic | 139 | | Jalaja | Premium | 161 | +----------------+-------------+---------------+ 5 rows in set (0.00 sec)mysql-date-time-functions.htm