ISNULL MIN вместе - PullRequest
       12

ISNULL MIN вместе

0 голосов
/ 21 мая 2018

Доброе утро, ребята.У меня был хороший поиск, но я не могу найти ответ (или тот, который я могу понять)

У меня есть хранимая процедура, и я хотел бы вернуть дату как часть запроса, однако, если нет записи (NULL), затем вернуть что-то дружественное, например, «Нет плановых запасов»

У меня есть

ISNULL(MIN(wt.CompletionDate),'No Planned Stock') AS NextStockIn

Это приводит к следующей ошибке

Преобразование не удалось при дате конвертациии / или время из символьной строки.

НО эта половина работает (есть такая вещь, как половина работает?)

MIN(ISNULL(wt.CompletionDate,'No Planned Stock')) AS NextStockIn

Проблема в том, что я все еще получаюNULL вместо «Нет плановых запасов»

В идеальном мире с идентификатором, например, в виде никелированной даты (дд / мм / гггг) или «Нет плановых акций»

Буду очень признателен за любую помощь вэто, заранее спасибо.

1 Ответ

0 голосов
/ 21 мая 2018

Я думаю об этих способах

CASE WHEN CAST(wt.CompletionDate AS VARCHAR(25)) IS NULL 
THEN 'No Planned Stock' 
ELSE CAST(MIN(wt.CompletionDate) AS VARCHAR(25))

Поскольку varchar определенно не совместим с типом datetime, но иногда, в зависимости от значения данных varchar, он может автоматически преобразовываться в тип datetime с помощью SQLСервер, который в данном случае «Нет плановых запасов» не конвертируется в значение даты и времени.

Или, может быть, вы также можете попробовать этот

ISNULL(CAST(MIN(wt.CompletionDate) AS VARCHAR(25)),'No Planned Stock') AS NextStockIn

Я не проверял их, ноЯ надеюсь, что это работает как ожидалось

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...