Mam string
kolumnę, która działa jak a date
i chcę ją wybrać jako date
.
Czy to możliwe?
Mój przykładowy format danych wyglądałby tak; month/day/year
->12/31/2011
Mam string
kolumnę, która działa jak a date
i chcę ją wybrać jako date
.
Czy to możliwe?
Mój przykładowy format danych wyglądałby tak; month/day/year
->12/31/2011
Odpowiedzi:
Jak powiedziano w MySQL Używając kolumny łańcuchowej z tekstem daty jako polem daty , możesz to zrobić
SELECT STR_TO_DATE(yourdatefield, '%m/%d/%Y')
FROM yourtable
Możesz również obsłużyć te ciągi dat w WHERE
klauzulach. Na przykład
SELECT whatever
FROM yourtable
WHERE STR_TO_DATE(yourdatefield, '%m/%d/%Y') > CURDATE() - INTERVAL 7 DAY
W ten sposób możesz obsłużyć wszystkie rodzaje układów daty / czasu. Zapoznaj się ze specyfikatorami formatu DATE_FORMAT()
funkcji, aby zobaczyć, co można umieścić w drugim parametrze STR_TO_DATE()
.
STR_TO_DATE('12/31/2011', '%m/%d/%Y')
%d/%m/%Y
podobny, więc STR_TO_DATE('31/11/1015', '%d/%m/%Y')
pamiętaj, że dane wyjściowe będą w YYYY-MM-DD
formacie jako DATE
typ danych.
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html
użyj powyższej strony, aby znaleźć więcej funkcji w MySQL
SELECT STR_TO_DATE(StringColumn, '%d-%b-%y')
FROM table
powiedzmy, na przykład użyj poniższego zapytania, aby uzyskać dane wyjściowe
SELECT STR_TO_DATE('23-feb-14', '%d-%b-%y') FROM table
W przypadku formatu String użyj poniższego łącza
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format
Oto kolejne dwa przykłady.
Aby wyświetlić dzień, miesiąc i rok, możesz użyć:
select STR_TO_DATE('14/02/2015', '%d/%m/%Y');
Który produkuje:
2015-02-14
Aby również wyświetlić czas, możesz użyć:
select STR_TO_DATE('14/02/2017 23:38:12', '%d/%m/%Y %T');
Który produkuje:
2017-02-14 23:38:12