UNIX_TIMESTAMP()
chức năng yêu cầu định dạng ngày / giờ hợp lệ để chuyển đổi chính xác, vì vậy trước tiên bạn cần chuyển đổi định dạng ngày / giờ hiện có của mình sang định dạng hợp lệ / được công nhận (bao gồm cả năm). Bạn có thể thực hiện việc này bằng cách sử dụng STR_TO_DATE()
của MySQL chức năng, cho nó biết bạn đang chuyển sang định dạng nào và nối trong một giá trị năm được mã hóa cứng vì nó luôn là năm 2016 trong trường hợp của bạn.
STR_TO_DATE(CONCAT('2016-', <your date/time value>), '%Y-%d %b %h:%i%p')
Sau đó, bạn có thể sử dụng UNIX_TIMESTAMP()
chức năng chuyển đổi ngày hợp lệ đó thành dấu thời gian unix của bạn và cập nhật tất cả các bản ghi đó trong một bước duy nhất:
UPDATE table_name
SET new_timestamp =
UNIX_TIMESTAMP(STR_TO_DATE(CONCAT('2016-', timestamp), '%Y-%d %b %h:%i%p'));