Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Пустая строка превращается в пробел
|
|||
|---|---|---|---|
|
#18+
При переносе хранимых процедур, написанных для MS SQL 2000 на ASE 12.5 столкнулся с разночтением работы с "пустой" строкой. В качестве примера можно запустить в Advantage следующий скрипт: declare @str varchar(10) select @str = '' -- Между кавычками НЕТ пробела select '*' + @str + '*' Результат: * * -- Между звездочками ЕСТЬ пробел. Т.е. значение @str равно пробелу, а не "пустой" строке. Проблему можно решить, заменив, например, select @str = '' на select @str = LTRIM('') , но в моем случае придется переписывать достаточно большое кол-во процедур. Нельзя ли как нибудь "по доброму" переобучить ASE 12.5 на восприятие "пустой" строки, как "пустой" строки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2005, 20:12 |
|
||
|
Пустая строка превращается в пробел
|
|||
|---|---|---|---|
|
#18+
Насколько я знаю, нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2005, 22:15 |
|
||
|
Пустая строка превращается в пробел
|
|||
|---|---|---|---|
|
#18+
declare @str varchar(10) select @str = null select '*' + @str + '*' Будет ** - без пробела. Экстракт процедур в текстовый файл, замена в любом текстовом редакторе '' на null и последующая проливка измененного скрипта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2005, 08:39 |
|
||
|
Пустая строка превращается в пробел
|
|||
|---|---|---|---|
|
#18+
От варианта select @str = null я отказался сразу. Он для моих целей подходит ещё меньше, чем select @str = LTRIM(''). Дело в том, что приложение, которое использует эти хранимые процедуры, должно работать как на ASE 12.5, так и на MS SQL 2000. А 2000-й с NULL работает несколько иначе. Тестовая последовательность (declare @str varchar(10) select @str = null select '*' + @str + '*') на выходе дала бы значение NULL. Т.е. мне пришлось бы при дальнейшей модернизации программы вести параллельно две версии хранимых процедур. Одну для ASE 12.5, другую для SQL 2000, что, мягко говоря, неудобно. И вообще, мне хотелось бы не переписывать код, а добиться именно одинакового поведения серверов по отношению к "пустой" строке. Но в любом случае, спасибо за совет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2005, 20:29 |
|
||
|
|

start [/forum/topic.php?fid=55&fpage=104&tid=2013698]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
32ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 218ms |
| total: | 305ms |

| 0 / 0 |
