Saya memiliki string
kolom yang bertindak sebagai a date
dan saya ingin memilihnya sebagai date
.
Apa itu mungkin?
Format data sampel saya adalah; month/day/year
->12/31/2011
Saya memiliki string
kolom yang bertindak sebagai a date
dan 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 WHERE
klausa. 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/%Y
seperti jadi STR_TO_DATE('31/11/1015', '%d/%m/%Y')
Ingatlah bahwa output akan YYYY-MM-DD
berformat 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