Я пытаюсь получить разные дни из двух столбцов, и если столбец ab.Final_billdate равен NULL, я хочу поместить строку «UNBILLED». Я попытался сделать два ниже, но я получаю ошибку.
Это то, что у меня есть, и я получаю сообщение об ошибке в строке без счета.
Преобразование не удалось при преобразовании значения varchar «UNBILLED» для типа данных int.
isnull(datediff(day,ab.Final_billdate,dd.medate),'UNBILLED') as billing
Я пытался создать выражение для случая, подобное этому, но получаю ту же ошибку, потому что я пытаюсь поместить числа и символы в один и тот же вывод колонка. Это возможно? Не уверен, что мне нужно его разыграть?
Это выражение для случая
case when ab.Final_billdate is not null then datediff(day,ab.Final_billdate,dd.medate) else 'UNBILLED' end as billing
Желаемый результат:
|Billing|
27
54
78
UNBILLED
ОБНОВЛЕНИЕ: вот что я сделал, чтобы получить что я хотел
,isnull(CONVERT(varchar(8), datediff(day,ab.Final_billdate,dd.medate)), 'UNBILLED') AS AgeFromFinalBill