Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Chuyển đổi chuỗi / varchar thành ngày tháng giữa các bảng MySQL

Hãy xem STR_TO_DATE chức năng:

UPDATE yourtable
SET
  new_column = STR_TO_DATE(varchar_date, '%m-%d-%Y')
WHERE
  STR_TO_DATE(varchar_date, '%m-%d-%Y') IS NOT NULL

Và sau đó là cùng một truy vấn, với định dạng ngày là '%m/%d/%Y' , và sau đó lặp lại với '%M %D, %Y' .Nếu định dạng không khớp, STR_TO_DATE sẽ trả về NULL và các hàng sẽ không được cập nhật.

Nếu bạn muốn chèn dữ liệu hiện có của mình vào một bảng mới, bạn có thể sử dụng một cái gì đó như sau:

INSERT INTO new_table (ID, col1, col2, new_column)
SELECT
  ID, col1, col2,
  COALESCE(STR_TO_DATE(varchar_date, '%m-%d-%Y'),
           STR_TO_DATE(varchar_date, '%m/%d/%Y'),
           STR_TO_DATE(varchar_date, '%M %D, %Y'))
FROM oldtable

(new_column là cột ngày tháng và sau đó bạn có thể định dạng theo cách bạn muốn bằng PHP hoặc sử dụng DATE_FORMAT)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Đóng kết nối MySQL (PHP)

  2. MySql.Data.MySqlClient.MySqlException:“Máy chủ lưu trữ cục bộ không hỗ trợ kết nối SSL.”

  3. Tôi không thể lấy biểu mẫu đăng nhập của mình để kết nối tương tác đúng với cơ sở dữ liệu mySQL

  4. AttributeError:module 'mysql' không có thuộc tính 'connector'

  5. Loại cột MySQL TIMESTAMP hoàn toàn bao gồm NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP