При создании пользовательской функции «плохо» просто автоматически использовать максимально возможную строку?
Например, учитывая следующий UDF, я использовал nvarchar(max)
для моей входной строки, гдеЯ прекрасно знаю, что функция в настоящее время не должна принимать nvarchar(max)
, и, возможно, я просто слишком много думаю, но я предполагал, что всегда будет возможность, что, возможно, nvarchar(max)
будет переданоэта функция.
Делая что-то «плохое», я удивляюсь, что, объявив, что эта функция может получать и действительно nvarchar(max)
, делаю ли я что-нибудь для снижения производительности?
CREATE FUNCTION [dbo].[IsMasNull] (@value nvarchar(max))
RETURNS BIT
AS
BEGIN
RETURN
CASE
WHEN @value IS NULL THEN 1
WHEN CHARINDEX(char(0), @value) > 0 THEN 1
ELSE 0
END
END