В запросе прибавляю к значению строкового поля спереди разное количество
пробелов. Для пробелов использую функцию space.
Если таблица постоянная - все работает.
Если таблица временная(# или ##) или табличная переменная, функция space
возвращает не больше одного пробела, чтобы ей параметром не передавалось.
Можно ли это вылечить? Hе очень хочется создавать лишние постоянные таблицы.
Заранее спасибо.
Адрес в шапке не работает. Писать можно на tany...@newmail.ru
"Счастье - это когда у тебя болел зуб и вдруг перестал" (с) И.Грекова
"Tatiana Guskina" сообщил/сообщила в новостях следующее:
> В запросе прибавляю к значению строкового поля спереди разное количество
> пробелов. Для пробелов использую функцию space.
>
> Если таблица постоянная - все работает.
> Если таблица временная(# или ##) или табличная переменная, функция space
> возвращает не больше одного пробела, чтобы ей параметром не передавалось.
Это как это? Пример можно? У меня все нормально:
declare @t table (s varchar(10))
insert @t values ('456')
select space(3) + s from @t
-------------
456
Три пробела наличествуют.
С наилучшими пожеланиями, Дмитрий.
dim_nУБРАТЬrnivcРУССКИЕkisБУКВЫru
Дело оказалось в конкретной базе. Точнее в collatione ее. Я после Ваш пример
запустила машинально в мастере, и потом уже пробовала в разных базах.
Оказалось, что space отказывается работать в том режиме, который я Вам
описала, только в одной той самой базе, в которой я тогда работала.
Стали искать "10 отличий" от всех прочих баз. Hашли! Создали тестовую базу
с таким же collation как в "дефектной". Версия подтвердилась.
"Счастье - это когда у тебя болел зуб и вдруг перестал" (с) И.Грекова.