Использование VARCHAR и NVARCHAR в UDF - PullRequest
0 голосов
/ 21 июня 2019

Я ограничен использованием SQL Server 2014. Я хочу иметь более короткие выборки, и LTRIM(RTRIM()) следующий в моем списке попаданий.

Многие посты по созданию UDF имеют переменные VARCHAR. Я думаю, что это неправильно и хочу использовать NVARCHAR.

Почему так много сообщений используют VARCHAR в переменной? Если мои исходные данные VARCHCAR, и я передаю их в функцию и мне возвращается NVARCHAR, разве мы не можем затем повторно преобразовать в VARCHAR, если действительно требуется?

Сообщение в блоге о создании TRIM в старых (ish) версиях SQL Server (функция приведена ниже): https://blog.sqlauthority.com/2013/01/23/sql-server-trim-function-to-remove-leading-and-trailing-spaces-of-string-sql-in-sixty-seconds-040-video/

CREATE FUNCTION dbo.TRIM(@string VARCHAR(MAX))
RETURNS VARCHAR(MAX)
BEGIN
    RETURN LTRIM(RTRIM(@string))
END
GO

SELECT dbo.TRIM(' String ')
GO

Edit- Выгрузка данных из исходной базы данных (третьей стороны) в целевую базу данных (нашу) в качестве единовременного использования. Производительность не является проблемой. Читаемость T-SQL является основным приоритетом. Я должен также упомянуть, что вся база данных назначения - это NVARCHAR, в конечном итоге данные будут иметь формат NVARCHAR, поэтому обычно я не буду пытаться изменить их обратно на VARCHAR.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...