|
|
|
Как преобразовать текс, лежащий в BLOB'е в CHAR?..
|
|||
|---|---|---|---|
|
#18+
Здрасьте всем!.. Есть таблица новостей. Текст новости лежит в 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-полю?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2003, 11:29 |
|
||
|
Как преобразовать текс, лежащий в BLOB'е в CHAR?..
|
|||
|---|---|---|---|
|
#18+
Посуди сам, во что ты сконвертить свой блоб хочешь - в текст длиной в 1 символ! cast(NS_TEXT as char) ^^^^^^^^^^^^^^ В общем-то я текст в болбах не храню, но вроде как слышал что если в них текст храниться, то CONTAINING в них и так работает, а вот за UPPER не уверен. Пробуй вобще без преобразований поиск сделать, иначе какой смысл было вобще текст хранить в блобах и потом их преобразовывать в строки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2003, 12:05 |
|
||
|
Как преобразовать текс, лежащий в BLOB'е в CHAR?..
|
|||
|---|---|---|---|
|
#18+
На самом деле изменение длины тоже не помогает... А UPPER мне нужен для того, чтобы найти текст независимо от регистра символов... И BLOB'ы мне нужны потому, что я не знаю текст какой длины туда будет помещён - новость-то может быть большой!.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2003, 12:21 |
|
||
|
Как преобразовать текс, лежащий в BLOB'е в CHAR?..
|
|||
|---|---|---|---|
|
#18+
Тебе советую сделать тип VARCHAR(20000) вместо ИДЩИ, а вот почему на COALESCE блоб выдаёт дедлок и не работает UPPER - это я щас сам буду узнавать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2003, 12:39 |
|
||
|
Как преобразовать текс, лежащий в BLOB'е в CHAR?..
|
|||
|---|---|---|---|
|
#18+
ИДЩИ - это BLOB по русски :-)))) Возможно нельзя преобразовывать блоб в строку - я не знаю :-/ А вот с COALESCE - явная бага. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2003, 12:41 |
|
||
|
Как преобразовать текс, лежащий в BLOB'е в CHAR?..
|
|||
|---|---|---|---|
|
#18+
вот поспешил - нет там баги с COALESCE :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2003, 12:49 |
|
||
|
Как преобразовать текс, лежащий в BLOB'е в CHAR?..
|
|||
|---|---|---|---|
|
#18+
А скока максимум можно 'положить' в VARCHAR? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2003, 12:50 |
|
||
|
Как преобразовать текс, лежащий в BLOB'е в CHAR?..
|
|||
|---|---|---|---|
|
#18+
... и что такое 'COALESCE' (если глупый вопрос, то звыняётэ... ;) )?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2003, 12:52 |
|
||
|
Как преобразовать текс, лежащий в BLOB'е в CHAR?..
|
|||
|---|---|---|---|
|
#18+
В варчар больше 32-х тысяч можно положить. А COALESCE - это встроенная функция FB1.5. Она есть в стандарте SQL и описана в файле whats_new к FB1.5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2003, 13:41 |
|
||
|
Как преобразовать текс, лежащий в BLOB'е в CHAR?..
|
|||
|---|---|---|---|
|
#18+
Ясно... Но я-то под FB1.0 сижу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2003, 13:49 |
|
||
|
Как преобразовать текс, лежащий в BLOB'е в CHAR?..
|
|||
|---|---|---|---|
|
#18+
Могу порадовать - конструкция CONTAINING выполняет в блобе регистронезависимый поиск на русском - проверено в FB1.5 За другие серверы не скажу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2003, 14:44 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32331315&tid=1579615]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
205ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 537ms |

| 0 / 0 |
