2013-08-15 3 views
0

При выполнении запроса ниже я получаю предупреждение:MySQL код ошибки 1292

Предупреждение | 1292 | Усеченное неправильное значение DOUBLE: «Дата разрешения».

Я пытаюсь извлечь только строки, датированные от str_customvalue. Вот почему я сделал DATE(DATE(str_customvalue)) is not null.

Select 
    case str_category 
     when 
      ('Resolved Date' 
       and (status = 'Closed') 
       and (DATE(str_customvalue) is not null) 
      ) 
     then 
      cast(str_customvalue as datetime) 
     else cast(str_diff_date` as datetime) 
    end AS last_diff_date 

    From table 

Есть ли способ удалить это предупреждение? Запрос работает нормально, но для того, чтобы мой скрипт прошел QA, мне нужно удалить это предупреждение.

ответ

0

Я решил проблему с помощью IF() заявление, как например:

Select 
IF (str_category = 'Resolved Date' and 
    and (status = 'Closed') 
    and (DATE(str_customvalue) is not null, 
    cast(str_customvalue as datetime), 
    cast(str_diff_date` as datetime)) 
    AS last_diff_date 

From table 
Смежные вопросы