Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Konversi string/varchar ke tanggal antara tabel MySQL

Lihat STR_TO_DATE fungsi:

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

Dan kemudian kueri yang sama, dengan format tanggal sebagai '%m/%d/%Y' , dan sekali lagi dengan '%M %D, %Y' .Jika formatnya tidak cocok, STR_TO_DATE akan mengembalikan NULL dan baris tidak akan diperbarui.

Jika Anda ingin memasukkan data yang ada ke tabel baru, Anda dapat menggunakan sesuatu seperti ini:

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

(kolom_baru adalah kolom tanggal, dan Anda dapat memformatnya sesuai keinginan menggunakan PHP atau menggunakan 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. Bisakah saya menggunakan COUNT() dan DISTINCT bersama-sama?

  2. MySQL membuat sintaks prosedur tersimpan dengan pembatas

  3. salin satu kolom dari satu tabel ke tabel lainnya

  4. Perbandingan INT tanpa pernyataan WHERE

  5. Mengalami masalah dengan Gabung MySQL yang harus memenuhi berbagai kondisi