Computer >> Máy Tính >  >> Lập trình >> MySQL

Kết hợp cột ngày và giờ thành một dấu thời gian trong MySQL?

Để kết hợp cột ngày và giờ thành một dấu thời gian, bạn có thể sử dụng hàm cast () với concat ().

Cú pháp như sau -

select cast(concat(yourDateColumnName, ' ', yourTimeColumnName) as datetime) as anyVariableName from yourTableName;

Trong khái niệm trên, bạn sẽ sử dụng cast () khi ngày và giờ của bạn ở định dạng chuỗi. Hàm cast () chỉ có thể được sử dụng cho datetime. Để hiểu cú pháp trên, chúng ta hãy tạo một bảng.

Truy vấn để tạo bảng như sau -

mysql> create table DateAndTimeToTimestamp
   −> (
   −> Duedate date,
   −> DueTime time
   −> );
Query OK, 0 rows affected (0.51 sec)

Chèn bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau -

mysql> insert into DateAndTimeToTimestamp values(date_add(curdate(),interval 2 day),'10:30:02');
Query OK, 1 row affected (0.34 sec)

mysql> insert into DateAndTimeToTimestamp values(date_add(curdate(),interval -2 day),'12:20:45');
Query OK, 1 row affected (0.17 sec)

mysql> insert into DateAndTimeToTimestamp values(date_add(curdate(),interval 1 day),'01:32:42');
Query OK, 1 row affected (0.21 sec)

mysql> insert into DateAndTimeToTimestamp values(date_add(curdate(),interval -1 day),'14:25:58');
Query OK, 1 row affected (0.30 sec)

Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau -

mysql> select *from DateAndTimeToTimestamp;

Sau đây là kết quả -

+------------+----------+
| Duedate    | DueTime  |
+------------+----------+
| 2018-12-16 | 10:30:02 |
| 2018-12-12 | 12:20:45 |
| 2018-12-15 | 01:32:42 |
| 2018-12-13 | 14:25:58 |
+------------+----------+
4 rows in set (0.00 sec)

Đây là truy vấn để kết hợp cột ngày và giờ thành dấu thời gian -

mysql> select concat(Duedate, ' ', DueTime) as timestampDemo from DateAndTimeToTimestamp;

Sau đây là kết quả -

+---------------------+
| timestampDemo       |
+---------------------+
| 2018-12-16 10:30:02 |
| 2018-12-12 12:20:45 |
| 2018-12-15 01:32:42 |
| 2018-12-13 14:25:58 |
+---------------------+
4 rows in set (0.00 sec)