Код ошибки Mysql: 1292 Неверное значение даты и времени: ''

Я пытаюсь вставить запись в таблицу и получаю следующую ошибку.

Mysql Error Code : 1292 Incorrect datetime value : ''

Фрагмент кода Mysql выглядит следующим образом

INSERT INTO tbl_dashboard (avg_response)
SELECT cast(ifnull(floor(avg(5 * (DATEDIFF(substring(im.inq_managerreply,-10), im.inq_managerdate) DIV 7)
       + MID('0123444401233334012222340111123400001234000123440',
                        7 * WEEKDAY(im.inq_managerdate) + WEEKDAY(substring(im.inq_managerreply,-10)) + 1, 1))),'not_applicable')AS CHAR(45)) 'average_response_time_in_working_days'
  FROM inq_manager im

Нет ошибок при выполнении оператора select, который дает среднее время ответа, исключая выходные, но когда я пытаюсь вставить вышеуказанное в свою таблицу, выдается ошибка. Тип данных tbl_dashboard — avg_response char(45).

Как я могу преодолеть это. Пожалуйста помоги


person user3447223    schedule 21.03.2014    source источник
comment
Я хотел бы сказать, что это самый уродливый запрос, который я когда-либо видел. К сожалению, это не так.   -  person TypeIA    schedule 21.03.2014
comment
Наверное, вам нужно пересмотреть всю логику того, что вы делаете с этим   -  person Alexander    schedule 21.03.2014


Ответы (1)


Я не уверен, что это будет иметь значение, но попробовать стоит. И я удалю это, если это не поможет, но, может быть,

INSERT INTO tbl_dashboard (avg_response) VALUES
(SELECT cast(ifnull(floor(avg(5 * (DATEDIFF(substring(im.inq_managerreply,-10), im.inq_managerdate) DIV 7)
       + MID('0123444401233334012222340111123400001234000123440',
                        7 * WEEKDAY(im.inq_managerdate) + WEEKDAY(substring(im.inq_managerreply,-10)) + 1, 1))),'not_applicable')AS CHAR(45)) 'average_response_time_in_working_days'
  FROM inq_manager im)
person Adam Copley    schedule 13.02.2016