A string
olarak davranan bir sütunum var date
ve onu bir date
.
Mümkün mü?
Örnek veri formatım; month/day/year
->12/31/2011
A string
olarak davranan bir sütunum var date
ve onu bir date
.
Mümkün mü?
Örnek veri formatım; month/day/year
->12/31/2011
Yanıtlar:
MySQL'de söylendiği gibi, tarih alanı olarak tarih metnine sahip bir dize sütunu kullanarak şunları yapabilirsiniz:
SELECT STR_TO_DATE(yourdatefield, '%m/%d/%Y')
FROM yourtable
Bu tarih dizelerini WHERE
yan tümcelerde de işleyebilirsiniz . Örneğin
SELECT whatever
FROM yourtable
WHERE STR_TO_DATE(yourdatefield, '%m/%d/%Y') > CURDATE() - INTERVAL 7 DAY
Her türlü tarih / saat düzenini bu şekilde yönetebilirsiniz. İkinci parametresine ne koyabileceğinizi görmek içinDATE_FORMAT()
lütfen işlevin biçim belirleyicilerine bakın STR_TO_DATE()
.
STR_TO_DATE('12/31/2011', '%m/%d/%Y')
%d/%m/%Y
bu nedenle STR_TO_DATE('31/11/1015', '%d/%m/%Y')
çıktının veri türü YYYY-MM-DD
biçiminde olacağını unutmayın DATE
.
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html
MySQL'de daha fazla Fonksiyona başvurmak için yukarıdaki sayfayı kullanın
SELECT STR_TO_DATE(StringColumn, '%d-%b-%y')
FROM table
Örneğin çıktı almak için aşağıdaki sorguyu kullanın
SELECT STR_TO_DATE('23-feb-14', '%d-%b-%y') FROM table
Dize biçimi için aşağıdaki bağlantıyı kullanın
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format
İşte başka iki örnek.
Gün, ay ve yılın çıktısını almak için şunları kullanabilirsiniz:
select STR_TO_DATE('14/02/2015', '%d/%m/%Y');
Hangi üretir:
2015-02-14
Ayrıca zamanın çıktısını almak için şunları kullanabilirsiniz:
select STR_TO_DATE('14/02/2017 23:38:12', '%d/%m/%Y %T');
Hangi üretir:
2017-02-14 23:38:12
Aşağıda, STR_TO_DATE()
işlevin söz dizimi gösterilmektedir :
STR_TO_DATE(str,fmt);
STR_TO_DATE()
Dönüştürür fmt biçim dizesi dayalı bir tarih değeri haline str dize. STR_TO_DATE()
İşlevi döndürebilir TARİH , SAAT veya DATETIME giriş ve biçim dizeleri dayalı değer. Girdi dizesi geçersizse, STR_TO_DATE()
işlev NULL döndürür.
Aşağıdaki ifade bir dizeyi DATE değerine dönüştürür .
SELECT STR_TO_DATE('21,5,2013','%d,%m,%Y');
Biçim dizesi göre % d,% m,% Y , STR_TO_DATE()
fonksiyon tarar '21, 5,2013' giriş dizesi.
STR_TO_DATE()
eşleştikten sonra, işlev dört basamaklı yıl olan% Y üçüncü biçim belirleyicisi için bir eşleşme bulmaya devam eder, örneğin 2012, 2013, vb. Ve yıl değeri olarak 2013 sayısını alır. .STR_TO_DATE()
İşlevi biçim dizesi dayalı giriş dizesi ayrıştırır girdi dizesinin sonunda fazladan karakter yok sayar. Aşağıdaki örneğe bakın:
SELECT STR_TO_DATE('21,5,2013 extra characters','%d,%m,%Y');
Daha Fazla Ayrıntı: Referans