Saya memiliki stringkolom yang bertindak sebagai a datedan saya ingin memilihnya sebagai date.
Apa itu mungkin?
Format data sampel saya adalah; month/day/year->12/31/2011
Saya memiliki stringkolom yang bertindak sebagai a datedan saya ingin memilihnya sebagai date.
Apa itu mungkin?
Format data sampel saya adalah; month/day/year->12/31/2011
Jawaban:
Seperti yang dikatakan di MySQL Menggunakan kolom string dengan teks tanggal sebagai bidang tanggal , Anda dapat melakukannya
SELECT STR_TO_DATE(yourdatefield, '%m/%d/%Y')
FROM yourtable
Anda juga bisa menangani string tanggal ini dalam WHEREklausa. Sebagai contoh
SELECT whatever
FROM yourtable
WHERE STR_TO_DATE(yourdatefield, '%m/%d/%Y') > CURDATE() - INTERVAL 7 DAY
Anda dapat menangani semua jenis tata letak tanggal / waktu dengan cara ini. Silakan merujuk ke penentu format untuk DATE_FORMAT()fungsi untuk melihat apa yang dapat Anda masukkan ke dalam parameter kedua STR_TO_DATE().
STR_TO_DATE('12/31/2011', '%m/%d/%Y')
%d/%m/%Yseperti jadi STR_TO_DATE('31/11/1015', '%d/%m/%Y')Ingatlah bahwa output akan YYYY-MM-DDberformat sebagai DATE tipe data.
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html
gunakan halaman di atas untuk merujuk lebih banyak Fungsi di MySQL
SELECT STR_TO_DATE(StringColumn, '%d-%b-%y')
FROM table
katakan misalnya gunakan query di bawah ini untuk mendapatkan output
SELECT STR_TO_DATE('23-feb-14', '%d-%b-%y') FROM table
Untuk format String gunakan tautan di bawah ini
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format
Berikut dua contoh lainnya.
Untuk menampilkan hari, bulan, dan tahun, Anda dapat menggunakan:
select STR_TO_DATE('14/02/2015', '%d/%m/%Y');
Yang menghasilkan:
2015-02-14
Untuk juga menampilkan waktu, Anda dapat menggunakan:
select STR_TO_DATE('14/02/2017 23:38:12', '%d/%m/%Y %T');
Yang menghasilkan:
2017-02-14 23:38:12