С помощью сценария, который не принимает значение NULL, но Nan, я пытаюсь вставить нулевое значение вместо 0 в таблицу сервера SQL.Поэтому для этого у меня была идея создать хранимую процедуру, которая будет приводить Nan к нулевому плавающему значению.вот хранимая процедура:
create procedure [dbo].fromNanToNull(@val VARCHAR)
AS BEGIN
DECLARE @Work float
if @val like 'N%' set @Work=CAST(NULL AS float)
else set @work=CAST(@val AS float)
return @work
END
Выполнение:
exec [dbo].fromNanToNull 'Nan'
, но вместо того, чтобы получить нуль в ответ, я получил это сообщение, которое сообщает, что возврат принудительно равен 0.Вот сообщение:
Процедура fromNanToNull попыталась вернуть состояние NULL, что недопустимо.Вместо этого будет возвращено состояние 0.