Мой формат даты выглядит так: "201710". Я пытаюсь преобразовать эту строку в '2017-10-01'.
Как преобразовать из вышеупомянутого формата в требуемый формат в mysql?
Я попытался использовать следующий запрос:
SELECT *, DATE_FORMAT(yymm,'%Y-%m-%d') AS niceDate
FROM table;
Но столбец niceDate показывает нуль.
Может кто-нибудь, пожалуйста, помогите мне....
Я новичок в SQL, но я думаю, вам нужно указать столбец, который вы хотите отформатировать, например, я не уверен в точном коде для ваших данных, но что-то вроде;
select *, DATE_FORMAT(yourdata, "%Y/%m/%d") as niceDate
from table;
Измените "yourdata" на столбец даты, который вы хотите отформатировать. Дайте мне знать, если это поможет, спасибо :)
вы можете использовать это:
SELECT STR_TO_DATE(yourdatefield, '%m/%d/%Y') as
FROM table
'yourdatefield' заменить на имя столбца даты.
You can use STR_TO_DATE() funcion to convert string to date,
В вашем примере вы не предоставляете дневную часть, вы предоставляете только год и месяц, но для использования этой функции ваша строка должна иметь год, месяц и день. Пример.
SELECT STR_TO_DATE('20171001','%Y%m%d') ;
вы можете CONCAT свою строку /FIELD, тогда у вас есть действительная дата
SELECT str_to_date(CONCAT('201710','01'),'%Y%m%d');
ОБРАЗЕЦ
MariaDB [(none)]> SELECT str_to_date(CONCAT('201710','01'),'%Y%m%d');
+---------------------------------------------+
| str_to_date(CONCAT('201710','01'),'%Y%m%d') |
+---------------------------------------------+
| 2017-10-01 |
+---------------------------------------------+
1 row in set (0.00 sec)
MariaDB [(none)]>