Я искал онлайн решение, но никто не пришел. У меня есть столбец в запросе coldfusion, «date_hired». Если я делаю cfdump запроса, он показывает как дату, если это дата или как [пустая строка], если нет. В запросе есть 8 записей; и у некоторых есть даты для date_hired, а некоторые нет. Если я пытаюсь сделать добротность Q на этом результирующем:Как проверить нулевую/пустую строку в запросе запроса Coldfusion?
SELECT date_hired
FROM myQuery
WHERE date_hired = ''
Я получаю сообщение об ошибке, говорящее: Сравнение исключение при выполнении =. Исключение исключения неподдерживаемых типов: Оператор = не поддерживает сравнение между следующими типами: Тип выражения левой стороны = «NULL». Тип выражения правой стороны = "STRING".
Хорошо, так что я изменить мой запрос:
SELECT date_hired
FROM myQuery
WHERE date_hired IS NOT NULL
но он возвращает все 8 строк, даже те, где date_hired является [пустая строка] в cfdump. Аналогично, если я изменил предложение where на «where date_hired IS NULL», я получаю 0 строк, даже не [пустые строки].
Я в затруднении. ISNULL() и LEN() не могут использоваться в q из q. К счастью, если я делаю cfloop запроса и вывод isDate (date_hired), он возвращает true, где он должен, и false, где он должен. Таким образом, я могу cfloop над запросом и построить еще один на лету, но это похоже на окольный способ сделать что-то, что не должно быть трудно. Есть ли какие-то условные условия, которые я могу использовать в предложении where, которое будет работать здесь? Спасибо - CM
Не могли бы вы включить соответствующую часть схемы таблицы в свой пост? И как выглядит запрос перед QoQ? Кроме того, какую версию ColdFusion вы используете? – Alex