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

Откуда:
Сообщений: 9084
SELECT SUBSTRING( COLUMN1 from 10 for 20 ) .....

В Firebird 2.5 тип возвращаемого столбца будет такой же, как у COLUMN1
Несмотря на явное ограничение длины поля в запросе.
Указано "for 20" - по идее на выходе должны бы получить VarChar(20), если длина исходного столбца больше, но FB2.x этого не учитывает, требует явный CAST.

В FB 3/4 так и осталось, не учитывается принудительное уменьшение длины текста в SUBSTRING ?
25 сен 17, 13:09    [20820441]     Ответить | Цитировать Сообщить модератору
 Re: SUBSTRING и размер поля  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 7287
Arioch,

почему причудливое? from и to могут быть и переменными
25 сен 17, 13:10    [20820444]     Ответить | Цитировать Сообщить модератору
 Re: SUBSTRING и размер поля  [new]
Arioch
Member

Откуда:
Сообщений: 9084
Симонов Денис,

Да, могут, кажется начиная с 2.1.
Хммм.... Жаль, что константы не детектятся.

А значения этих переменных/выражений вычисляются заново для каждой строки ?
Нельзя их просчитать на этапе PREPARE ?
25 сен 17, 13:13    [20820459]     Ответить | Цитировать Сообщить модератору
 Re: SUBSTRING и размер поля  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 7287
Arioch,

переменных нет конечно. Констант наверное можно
25 сен 17, 13:14    [20820468]     Ответить | Цитировать Сообщить модератору
 Re: SUBSTRING и размер поля  [new]
Arioch
Member

Откуда:
Сообщений: 9084
Вообще, хорошо бы у функций наверное полностью указывать размер.

Не VarChar, а VarChar(xxx)

Потому что в 64-кб пpедел можно элементарно стукнуться

https://www.firebirdsql.org/file/documentation/reference_manuals/fblangref25-en/html/fblangref25-functions-scalarfuncs.html#fblangref25-functions-string
26 сен 17, 13:25    [20823660]     Ответить | Цитировать Сообщить модератору
Все форумы / Firebird, InterBase Ответить