Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Sybase ASE 12.53 Пустая строка = пробел. Почему? / 4 сообщений из 4, страница 1 из 1
18.08.2005, 17:03
    #33223693
Izumov Alex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sybase ASE 12.53 Пустая строка = пробел. Почему?
Было выявлено такое:
declare @a varchar
select @a = ""
select "[" + @a + "]"
Result: [ ] ( [SPACE] )

if char_length(" ") = char_length("")
select 1
else select 2
Result: 1

if ltrim('') like "% %"
select 1
else
select 0
Result: 1

Теперь уже понятно, что это так и задумано в АСЕ, но вопрос, почему только АСЕ так себя ведет?
Тоже самое на АСА и Сиквелл дает пустую строку с длиной 0.

В чем смысл такой нетривиальной интерпретации?
...
Рейтинг: 0 / 0
19.08.2005, 12:38
    #33225042
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sybase ASE 12.53 Пустая строка = пробел. Почему?
Я могу только предполагать - значение varchar(n) с реальной длиной 0 внутри интерпретируется как NULL. Поэтому, чтобы пустую строку отличать от NULL (в явном виде заданная константа - это еще пол беды, но пустая строка может быт и результатом вычисления выражения.) - сделано так вот.
...
Рейтинг: 0 / 0
23.08.2005, 20:18
    #33230789
Izumov Alex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sybase ASE 12.53 Пустая строка = пробел. Почему?
Ну а почему другие базы та же АСА и Сиквелл, нормально справляются с этой ситуацией и не вводят разработчиков в непонятки?
Неужели это так сложно реализовать?
...
Рейтинг: 0 / 0
24.08.2005, 10:00
    #33231168
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sybase ASE 12.53 Пустая строка = пробел. Почему?
Я думаю, в этом просто нет необходимости и кроме того это вредно. Все уже привыкли к такому поведению, есть куча кода, который на это расчитан.
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Sybase ASE 12.53 Пустая строка = пробел. Почему? / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]