SQLRU.net
Разработка приложений баз данных

Сегодняшние сообщения (вкл)  | Сообщения без ответа (откл)

Форум: Firebird, HQbird, InterBase
 Тема: FB 2.5 replace
FB 2.5 replace [сообщение #6136] Mon, 07 July 2025 17:55
DarkMaster в настоящее время не в онлайне  DarkMaster
Сообщений: 41
Зарегистрирован: 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 в настоящее время не в онлайне  shavluk
Сообщений: 85
Зарегистрирован: June 2022
Географическое положение: Одеса
Member
На всякий случай CRLF <> ascii_char(13). CRLF = #13 + #10
Мне кажется при замене происходит приведение третьего параметра к типу второго, и получаем отлуп.
Скорее всего начнет работать только начиная с VARCHAR(4).
А в случае когда используется строковый литерал, тогда тип определяется как максимальный (char(4))

[Обновления: Mon, 07 July 2025 18:43]

Известить модератора




Текущее время: Tue Jul 08 11:49:04 GMT+3 2025

Общее время, затраченное на создание страницы: 0.00934 секунд