Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / преобразование текста в дату (отчетный период) / 6 сообщений из 6, страница 1 из 1
05.08.2020, 16:31
    #39986801
Сергей Лалов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
преобразование текста в дату (отчетный период)
Привет, подскажите пожалуйста, как преобразовать выражение из поля типа varchar 06-2020 в формат даты?
изначально 06- это месяц, 2020 - год. Нужно как то вытащить и преобразовать такой текст в дату. Пробовал DATE_FORMAT и STR_TO_DATE но на выходе получается NULL
...
Рейтинг: 0 / 0
05.08.2020, 17:02
    #39986810
paver
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
преобразование текста в дату (отчетный период)
Сергей Лалов, потому что 06-2020 нифига не дата.
Сконкатенируйте с подстрокой "01-" или "30-" - и будет щастье.
...
Рейтинг: 0 / 0
05.08.2020, 17:13
    #39986816
Сергей Лалов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
преобразование текста в дату (отчетный период)
paver,
Да,я почти так и сделал, спасибо!)
Единственно слишком много sunbstring вышло:
Код: sql
1.
2.
3.
4.
SELECT
  `t_dogovorikontragentioplaty`.`otchetniyperiod` AS `otchetniyperiod`,
  CONCAT(SUBSTR(`t_dogovorikontragentioplaty`.`otchetniyperiod`, 4, 4), '-', SUBSTR(`t_dogovorikontragentioplaty`.`otchetniyperiod`, 1, 2), '-', '01') AS `period`
FROM `t_dogovorikontragentioplaty`



Сейчас причешу, лучше сначала добавить число как вы сказали, а потом уже трансформировать.
...
Рейтинг: 0 / 0
05.08.2020, 17:37
    #39986826
Сергей Лалов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
преобразование текста в дату (отчетный период)
Упростил, потестировал вывод месяца, и года проверил:
Код: sql
1.
2.
3.
4.
SELECT
  `t_dogovorikontragentioplaty`.`otchetniyperiod` AS `otchetniyperiod`,
  MONTH(STR_TO_DATE(CONCAT('01', '-', `t_dogovorikontragentioplaty`.`otchetniyperiod`), '%d-%m-%Y')) AS `mesyaz`
FROM `t_dogovorikontragentioplaty`



Так значительно поприятней..
...
Рейтинг: 0 / 0
06.08.2020, 05:33
    #39986919
paver
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
преобразование текста в дату (отчетный период)
Сергей Лалов

Код: sql
1.
  MONTH(STR_TO_DATE(CONCAT('01', '-', `t_dogovorikontragentioplaty`.`otchetniyperiod`), '%d-%m-%Y')) AS `mesyaz`


Так значительно поприятней..


Код: sql
1.
  LEFT(`t_dogovorikontragentioplaty`.`otchetniyperiod`,2)+0 AS `mesyaz`


А так?
...
Рейтинг: 0 / 0
06.08.2020, 07:21
    #39986922
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
преобразование текста в дату (отчетный период)
paver
А так?
Тогда уж просто
Код: sql
1.
SELECT `t_dogovorikontragentioplaty`.`otchetniyperiod` + 0 AS `mesyaz`

fiddle
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / преобразование текста в дату (отчетный период) / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]