Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Firebird, InterBase Новый топик    Ответить
 Кто неправ ?  [new]
Сисдба Мастеркеевич
Member

Откуда:
Сообщений: 363
Всем привет.

Вопрос, скорее всего, букварьный, так что заранее прошу прощения за отнятое время. Но типа в пятницу можно :)

Firebird 2.5.8:
          SELECT '''' || CAST('123' AS CHAR(10)) || '''' from rdb$database
UNION ALL SELECT '''' || CAST('123       ' AS CHAR(10)) || '''' from rdb$database
UNION ALL SELECT '''' || '123       ' || '''' from rdb$database;

Результат:
F_1
'123       '
'123       '
'123       '


То же самое в Postgres (9.6.сколько-то):
          SELECT '''' || CAST('123' AS CHAR(10)) || ''''
UNION ALL SELECT '''' || CAST('123       ' AS CHAR(10)) || ''''
UNION ALL SELECT '''' || '123       ' || '''';

Результат:
?column?
'123'
'123'
'123       '


Кто из них правильно работает ? Или это вообще не откуп сервера отдается, нет стандарта ?
15 фев 19, 13:14    [21810534]     Ответить | Цитировать Сообщить модератору
 Re: Кто неправ ?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 47080

Сисдба Мастеркеевич
Или это вообще не откуп сервера отдается, нет стандарта ?

Стандарт описывает тип CHAR как фигню, добиваемую пробелами до означенной длины.

Posted via ActualForum NNTP Server 1.5

15 фев 19, 13:22    [21810554]     Ответить | Цитировать Сообщить модератору
Все форумы / Firebird, InterBase Ответить