Опитвам се да получа част от датите на поле за дата. Знам, че мога да го получи с date_format, но това връща низ или "varchar" поле. Как мога да конвертирам резултата до момента, а не като Varchar?
Това е моята заявка за връщане на varchar:
(Select Date_Format(orders.date_purchased,"%m/%d/%Y")) As Date
Опитах няколко комбинации от този въпрос, но не можах да го накарам да работи:
mysql заявка - формат дата на изхода?
Всяка помощ е оценена.
Отговори:
39 за отговор № 1Опитайте се да го направите като DATE
SELECT CAST(orders.date_purchased AS DATE) AS DATE_PURCHASED
28 за отговор № 2
Използвай Функцията DATE:
SELECT DATE(orders.date_purchased) AS date
3 за отговор № 3
Или решението Cybernate или OMG Ponies ще работи. Основният проблем е, че функцията DATE_FORMAT () връща низ, а не дата. Когато си писал
(Select Date_Format(orders.date_purchased,"%m/%d/%Y")) As Date
Мисля, че по същество искахте MySQL да опитаза да форматирате стойностите в "date_purchased" според този низ на формат и вместо да извиквате тази колона "date_purchased", го наречете "Date". Но тази колона вече няма да съдържа дата, тя ще съдържа низ. (Тъй като Date_Format () връща низ, а не дата.)
Не мисля, че това е това, което искаш да направиш, но това си правиш.
Не обърквайте как изглежда стойността с каква е стойността.
1 за отговор № 4
синтаксис на date_format:
SELECT date_format(date_born, "%m/%d/%Y" ) as my_date FROM date_tbl
"%W %D %M %Y %T" -> Wednesday 5th May 2004 23:56:25
"%a %b %e %Y %H:%i" -> Wed May 5 2004 23:56
"%m/%d/%Y %T" -> 05/05/2004 23:56:25
"%d/%m/%Y" -> 05/05/2004
"%m-%d-%y" -> 04-08-13
0 за отговор № 5
Виждам многото видове приложения, но считам, че това оформление е по-полезно като референтен инструмент:
SELECT DATE_FORMAT("2004-01-20" ,"%Y-%m-01");