Рассмотрим следующий код TSQL:
declare @a nvarchar(500) = N''
select try_convert(float, @a)
Вывод:
0
Мне нужно, чтобы вывод был NULL.
Я могу сделать это:
declare @a nvarchar(500) = N''
select case @a
when '' then null
else try_convert(float, @a)
end
и все работает просто отлично.
Однако это всего лишь макет.В моем реальном сценарии вместо @a
имеется более 200 NVARCHAR(500)
столбцов, либо с плавающей запятой, либо с нулевой длиной строки.Мне нужен быстрый способ преобразования строк нулевой длины в NULL (и все остальное для перемещения), возможно, без необходимости создавать 200 отдельных операторов CASE.