Начало » Использование СУБД » Firebird, HQbird, InterBase » FB 2.5 replace
FB 2.5 replace [сообщение #6136] |
Mon, 07 July 2025 17:55  |
DarkMaster
Сообщений: 42 Зарегистрирован: August 2022
|
Member |
|
|
Други, дурацкий вопрос возник.
Есть старенький FB 2.5.8. Задача - сменить в блобе CRLF на <br>.
Делаю по науке:
declare cr varchar(1);
cr=ascii_char(13);
blob=replace(:blob,:cr,'<br>'); <--- облом - arithmetic bla-bla, string truncation etc....
по старому:
blob=replace(:blob,'
','<br>'); <--- все ок
но:
declare cr varchar(10);
cr=ascii_char(13);
blob=replace(:blob,:cr,'<br>'); <-- тоже все ок
Собственно вопрос - почему при varchar(1) облом выходит? Что-то такое всплывало, но что - не помню. Собственно чисто академический вопрос - пуркуа?
|
|
|
Re: FB 2.5 replace [сообщение #6137 является ответом на сообщение #6136] |
Mon, 07 July 2025 18:40   |
shavluk
Сообщений: 86 Зарегистрирован: June 2022 Географическое положение: Одеса
|
Member |
|
|
На всякий случай CRLF <> ascii_char(13). CRLF = #13 + #10
Мне кажется при замене происходит приведение третьего параметра к типу второго, и получаем отлуп.
Скорее всего начнет работать только начиная с VARCHAR(4).
А в случае когда используется строковый литерал, тогда тип определяется как максимальный (char(4))
[Обновления: Mon, 07 July 2025 18:43] Известить модератора
|
|
|
|
|
Переход к форуму:
Текущее время: Tue Jul 08 21:09:07 GMT+3 2025
Общее время, затраченное на создание страницы: 0.00702 секунд
|