OP говорит, что DATE
- это дата и время:
LEFT(CONVERT(VARCHAR, GETDATE(), 120), 10)
действует и работает, как:
LEFT(CONVERT(VARCHAR, NULL, 120), 10)
В результате ошибка должна быть в вашей функции dbo.CustRandValuationOnDate()
. Без этого кода нет способа решить эту проблему. Возможно, необходимо написать dbo.CustRandValuationOnDate()
для обработки значений NULL.
РЕДАКТИРОВАТЬ после отправки функционального кода:
RETURN ISNULL((SELECT SUM(DBO.RandValOfAccOnDate(@DATE, A.ACCOUNTID))
^^ID? ^^date??
параметры в неправильном порядке?
вы определяете параметры функции как: @DATE VARCHAR(11), @CIFNUMBER VARCHAR(12)
, но вызываете ее с помощью ID, LEFT(CONVERT(VARCHAR, DATE_COL, 120), 10)
, так что вы действительно пытаетесь сделать?