|
|
|
Junior Member
      
участник
Last Login: 14.07.2005 11:08
Сообщ.: 11,
Visits: 122
|
|
MSQL 2000 Server
Иногда в полях таблиц с типом данных Char встречаются записи, в которых перед 1_м символом текста имеется пробел, хотя переменная,
содержащая этот текст, до записи ее в таблицу, не имела 1_м символом пробел.
Так, например, если Insert переменную Name =''John'' в таблицу, то в дальнейшем при поиске потребуется проверять
set RS=Conn.execute("SELECT * From Tab1 " &_
"WHERE ( (User_Name = ''John'') OR (User_Name = '' John'')) " &_
" ")
вместо
.....
"WHERE (User_Name = ''John'')
Когда прога большая, это приводит к лишнему нагромождению.
Есть ли какой-нибудь более изящный подход? Подскажите, пожалуйста.
Удачи
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
Значит вставкf где-то ошибочная есть. SQL не добавляет самовольно пробелы в начало строк. Тип данных char дололняется пробелами справа только.
Как мне кажется проще всего удалить лишний пробелы в начале строк одним запросом
UPDATE Tab1 SET UserName = LTRIM(UserName)
|
|
|
|
|
Junior Member
      
участник
Last Login: 14.07.2005 11:08
Сообщ.: 11,
Visits: 122
|
|
Спасибо, это - выход.
См ниже как у меня происходит запись и при этом в таблице будет лишний пробел перед Mr, John, AAAA
Session("UserTitle")="Mr"
Session("FirstName")="John"
Session("FamilyName")="AAAA"
Conn.execute ("insert into Tab1 ( Title, FirstName, FamilyName, " &_
" и т.д )" & _
" Values (" & _
" ''"&Session("UserTitle")&"'' , " & _
" ''"&Session("FirstName")&"'' , " & _
" ''"&Session("FamilyName")&"'', " & _
" и т.д.")
|
|
|
|