powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / преобразование текста в дату (отчетный период)
6 сообщений из 6, страница 1 из 1
преобразование текста в дату (отчетный период)
    #39986801
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет, подскажите пожалуйста, как преобразовать выражение из поля типа varchar 06-2020 в формат даты?
изначально 06- это месяц, 2020 - год. Нужно как то вытащить и преобразовать такой текст в дату. Пробовал DATE_FORMAT и STR_TO_DATE но на выходе получается NULL
...
Рейтинг: 0 / 0
преобразование текста в дату (отчетный период)
    #39986810
paver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей Лалов, потому что 06-2020 нифига не дата.
Сконкатенируйте с подстрокой "01-" или "30-" - и будет щастье.
...
Рейтинг: 0 / 0
преобразование текста в дату (отчетный период)
    #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
преобразование текста в дату (отчетный период)
    #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
преобразование текста в дату (отчетный период)
    #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
преобразование текста в дату (отчетный период)
    #39986922
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
paver
А так?
Тогда уж просто
Код: sql
1.
SELECT `t_dogovorikontragentioplaty`.`otchetniyperiod` + 0 AS `mesyaz`

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


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