Я ограничен использованием 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.