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

Chuyển đổi chuỗi dd / mm / yyyy thành dấu thời gian Unix trong MySQL?

Chuyển đổi chuỗi dd / mm / yyyy thành dấu thời gian Unix với sự trợ giúp của UNIX_TIMESTAMP (). Cú pháp như sau -

 CHỌN UNIX_TIMESTAMP (STR_TO_DATE (yourColumnName, '% d /% m /% Y')) làm anyVariableName FROM yourTableName; 

Để 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> tạo bảng ConvertddmmyyyyInUnixTimeStamp -> (-> Id int NOT NULL AUTO_INCREMENT, -> Created_at varchar (30), -> PRIMARY KEY (Id) ->); Truy vấn OK, 0 hàng bị ảnh hưởng (0,57 giây)  

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

 mysql> chèn vào giá trị ConvertddmmyyyyInUnixTimeStamp (Created_at) ('10/11/2012 '); Truy vấn OK, 1 hàng bị ảnh hưởng (0,21 giây) mysql> chèn vào giá trị ConvertddmmyyyyInUnixTimeStamp (Created_at) ('11/12/2013'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,23 giây) mysql> chèn vào giá trị ConvertddmmyyyyInUnixTimeStamp (Created_at) ('10/12/2012'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,12 giây) mysql> chèn vào giá trị ConvertddmmyyyyInUnixTimeStamp (Created_at) '31 / 01/2015 '); Truy vấn OK, 1 hàng bị ảnh hưởng (0,19 giây) mysql> chèn vào giá trị ConvertddmmyyyyInUnixTimeStamp (Created_at) ('24 / 04/2016'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,21 giây) mysql> insert vào ConvertddmmyyyyInUnixTimeStamp (Created_at) giá trị ('20 / 09/2017 '); Truy vấn OK, 1 hàng bị ảnh hưởng (0,26 giây) mysql> chèn vào ConvertddmmyyyyInUnixTimeStamp (Created_at) giá trị ('15 / 03/2018'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,14 giây) 

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 * từ ConvertddmmyyyyInUnixTimeStamp; 

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

 + ---- + ------------ + | Id | Created_at | + ---- + ------------ + | 1 | 10/11/2012 || 2 | 12/11/2013 || 3 | 10/12/2012 || 4 | 31/01/2015 || 5 | 24/04/2016 || 6 | 20/09/2017 || 7 | 15/03/2018 | + ---- + ------------ + 7 hàng trong bộ (0,00 giây) 

Bây giờ chúng ta hãy chuyển đổi chuỗi dd / mm / yyyy thành dấu thời gian UNIX:

 mysql> chọn unix_timestamp (str_to_date (Created_at, '% d /% m /% Y')) làm UnixTimestamp từ ConvertddmmyyyyInUnixTimeStamp; 

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

 + --------------- + | UnixTimestamp | + --------------- + | 1352485800 || 1386700200 || 1355077800 || 1422642600 || 1461436200 || 1505845800 || 1521052200 | + --------------- + 7 hàng trong bộ (0,00 giây)