Каков наилучший способ добавления пробелов в конце переменной char в SQL Server

Каков наилучший способ добавления пробелов в конце переменной char в SQL Server? Я нашел 3 пути. Любые идеи, которые лучше? Здесь я пытаюсь проложить 2 пробела в конце FOO

1)

declare @var char(5) set @var = convert(char(5),'FOO') 

2)

 declare @var char(5) set @var = cast('FOO' AS char(5)) 

3)

 declare @var char(5) set @var = 'FOO' 

в чем разница между каждым из них?

Когда мне приходится разбирать огромные данные, какая опция будет быстрее и эффективнее, уменьшая объем памяти?

Пространства начинаются с того, как объявлена ​​переменная: char (5). Будучи типом фиксированной длины, значение будет автоматически добавлено в пространство.

Вы также должны посмотреть настройки SET ANSI PADDING . Для типа varchar (5) (переменная длина) установка ANSI PADDING может привести к обрезке существующих пространств с конца значения:

Завершающие пробелы в символьных значениях, вставленных в столбце varchar , обрезаются. Конечные нули в двоичных значениях, вставленные в столбцы varbinary , обрезаются.

Я предполагаю, что они все одинаковы.

Парсер T-SQL, вероятно, создает дерево внутренних выражений из каждого утверждения, и после абстрагирования его каждый становится одним и тем же деревом.

Передача и конвертация практически идентичны, с той лишь разницей, что для переключения между десятичными и числовыми типами требуется трансляция. Неявное преобразование тоже прекрасное. Исполнение идентично.

Единственное, на что нужно обратить внимание, это то, что если ваш вход длиннее вашего переменного размера, конец будет отключен без предупреждения.

Interesting Posts

Помощь tsql с объединением нескольких полей

Как применять условия в каждом внутреннем соединении в SQL Server

Как определить время простоя из журналов в таблице базы данных

sql server multi case where clause

Процедура или функция '' ожидает параметр '', который не указан

Получение «set statistics io on» приводит к t-sql для настройки

Преобразование введенного пользователем запроса поискового запроса в предложение where для полнотекстового поиска SQL Server

SQL Server 2005 – предоставление разрешения на создание хранимых процедур (но никаких других объектов)

Ошибка SQL Server: зачем получать ошибку 26 при выполнении поиска в ролевой системе в .NET.

Ошибка SQL Merge при попытке обновить мою основную таблицу

Сервисный брокер не работает после восстановления базы данных

Установка сертификата (SSL-шифрование) на SQL Server 2005 Express

Как получить идентификатор процесса SQL Server с помощью C #

как вставить «-» в столбец денег, когда значение равно 0,00

Параметр не выполняет, а также жестко кодирует значение

Давайте будем гением компьютера.