Вставка строк без завершающих пробелов SQL - PullRequest
1 голос
/ 13 мая 2010

У меня есть база данных с полем с именем Field1, которое имеет 100 nchars на запись. Каждый раз, когда я добавляю значение, оно сохраняется как:

"value     (100-ValueLength Spaces)        "

Таким образом, в основном каждое сохраненное значение имеет строку пробелов после него. Это становится проблемой, когда я пытаюсь сделать:

if (value == "Example")

из-за всех пустых мест после строки. Как я могу получить это, чтобы у сохраненных значений не было всех этих конечных пробелов?

Ответы [ 3 ]

7 голосов
/ 13 мая 2010

Если вы хотите строку переменной длины, используйте nvarchar(100) вместо nchar(100).Последний всегда содержит 100 символов, первый может содержать до 100 символов, но не заполняет пространство.

3 голосов
/ 13 мая 2010

Используйте функции sql LTRIM и RTRIM при вставке.

2 голосов
/ 13 мая 2010

Можете ли вы использовать nvarchar, так что добавление отступов не будет добавлено, если вы не соответствуете требуемой длине строки. Если это так, то это может быть лучше, чем постоянно обрезать строку ввода.

...