powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как преобразовать текс, лежащий в BLOB'е в CHAR?..
12 сообщений из 12, страница 1 из 1
Как преобразовать текс, лежащий в BLOB'е в CHAR?..
    #32331160
SDN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SDN
Гость
Здрасьте всем!.. Есть таблица новостей. Текст новости лежит в BLOB-поле. Надо организовать поиск по новостям. Я пишу запрос:

select * from NEWS
where upper((cast(NS_TEXT as char)) collate pxw_cyrl) like upper('%сегодня%' collate pxw_cyrl)
order by NS_DATE desc, NS_TIME desc


причём строка

upper((cast(NS_TEXT as char)) collate pxw_cyrl)

начиналась с

upper(NS_TEXT)

Результатом запроса является

Overflow occurred during data type conversion.
conversion error from string "BLOB".


Можно ли вообще выполнить такого типа поиск по BLOB-полю?..
...
Рейтинг: 0 / 0
Как преобразовать текс, лежащий в BLOB'е в CHAR?..
    #32331219
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посуди сам, во что ты сконвертить свой блоб хочешь - в текст длиной в 1 символ!
cast(NS_TEXT as char)
^^^^^^^^^^^^^^

В общем-то я текст в болбах не храню, но вроде как слышал что если в них текст храниться, то CONTAINING в них и так работает, а вот за UPPER не уверен. Пробуй вобще без преобразований поиск сделать, иначе какой смысл было вобще текст хранить в блобах и потом их преобразовывать в строки?
...
Рейтинг: 0 / 0
Как преобразовать текс, лежащий в BLOB'е в CHAR?..
    #32331248
SDN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SDN
Гость
На самом деле изменение длины тоже не помогает... А UPPER мне нужен для того, чтобы найти текст независимо от регистра символов... И BLOB'ы мне нужны потому, что я не знаю текст какой длины туда будет помещён - новость-то может быть большой!..
...
Рейтинг: 0 / 0
Как преобразовать текс, лежащий в BLOB'е в CHAR?..
    #32331280
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тебе советую сделать тип VARCHAR(20000) вместо ИДЩИ, а вот почему на COALESCE блоб выдаёт дедлок и не работает UPPER - это я щас сам буду узнавать :)
...
Рейтинг: 0 / 0
Как преобразовать текс, лежащий в BLOB'е в CHAR?..
    #32331283
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИДЩИ - это BLOB по русски :-)))) Возможно нельзя преобразовывать блоб в строку - я не знаю :-/ А вот с COALESCE - явная бага.
...
Рейтинг: 0 / 0
Как преобразовать текс, лежащий в BLOB'е в CHAR?..
    #32331310
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот поспешил - нет там баги с COALESCE :-)
...
Рейтинг: 0 / 0
Как преобразовать текс, лежащий в BLOB'е в CHAR?..
    #32331311
SDN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SDN
Гость
А скока максимум можно 'положить' в VARCHAR?
...
Рейтинг: 0 / 0
Как преобразовать текс, лежащий в BLOB'е в CHAR?..
    #32331315
SDN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SDN
Гость
... и что такое 'COALESCE' (если глупый вопрос, то звыняётэ... ;) )?..
...
Рейтинг: 0 / 0
Как преобразовать текс, лежащий в BLOB'е в CHAR?..
    #32331418
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В варчар больше 32-х тысяч можно положить. А COALESCE - это встроенная функция FB1.5. Она есть в стандарте SQL и описана в файле whats_new к FB1.5.
...
Рейтинг: 0 / 0
Как преобразовать текс, лежащий в BLOB'е в CHAR?..
    #32331434
SDN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SDN
Гость
Ясно... Но я-то под FB1.0 сижу...
...
Рейтинг: 0 / 0
Как преобразовать текс, лежащий в BLOB'е в CHAR?..
    #32331534
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Могу порадовать - конструкция CONTAINING выполняет в блобе регистронезависимый поиск на русском - проверено в FB1.5
За другие серверы не скажу.
...
Рейтинг: 0 / 0
Как преобразовать текс, лежащий в BLOB'е в CHAR?..
    #32331777
SDN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SDN
Гость
Спасибо, что обрадовали!.. В FB1.0 Тоже работает!!! Ура!!! :)
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как преобразовать текс, лежащий в BLOB'е в CHAR?..
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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