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

Konversikan varchar (40) ke kolom datetime

Dua hal:

Pertama, format str_to_date() Anda harus cocok dengan format string input. Jika string input Anda adalah 10/21/2016 15:02 , maka format Anda adalah %m/%d/%Y %H:%i .

Lihat referensi untuk kode format di sini:https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_date-format

Kedua, menggunakan UPDATE tidak mengubah tipe data kolom, itu hanya mengubah konten string varchar.

mysql> create table t (v varchar(50));

mysql> insert into t values ('10/21/2016 15:02');

mysql> update t set v = str_to_date(v, '%m/%d/%Y %H:%i');

mysql> select * from t;
+---------------------+
| v                   |
+---------------------+
| 2016-10-21 15:02:00 |
+---------------------+

Sekarang dalam format yang tepat, tetapi masih berupa varchar.

mysql> alter table t modify v datetime;

mysql> select * from t;
+---------------------+
| v                   |
+---------------------+
| 2016-10-21 15:02:00 |
+---------------------+

Sekarang tipe data telah diubah.

mysql> show create table t\G

CREATE TABLE `t` (
  `v` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Meminta database MySQL dari Fungsi NodeJS AWS Lambda

  2. Cara memesan berdasarkan data tabel pivot di Eloquent ORM Laravel

  3. Bagaimana cara MEMANGGIL PROSEDUR di MySQL?

  4. Bagaimana cara mendapatkan baris acak untuk hari ini?

  5. MySQL NULLIF() Dijelaskan