Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 image to text  [new]
Alexoliss
Member

Откуда: Донецк
Сообщений: 37
Добрый день!

Подскажите, как извлечь текст из поля типа image?

Выполняю запрос:

DECLARE @val varbinary(255)
SELECT @val = TEXTPTR(DocText) 
From FreeClientDoc where client = 864 and DocName = 'бла бла'
READTEXT FreeClientDoc.DocText @val 0 0


возвращает бинарный код. Может я чего-то не доделал?
22 июл 13, 14:10    [14599076]     Ответить | Цитировать Сообщить модератору
 Re: image to text  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
А что еще по-вашему должно вернуться из переменной типа varbinary(255)?
22 июл 13, 14:12    [14599097]     Ответить | Цитировать Сообщить модератору
 Re: image to text  [new]
Alexoliss
Member

Откуда: Донецк
Сообщений: 37
Гавриленко Сергей Алексеевич,

Тогда задам вопрос иначе: как вернуть текст из этих данных?
22 июл 13, 14:42    [14599364]     Ответить | Цитировать Сообщить модератору
 Re: image to text  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Alexoliss
Гавриленко Сергей Алексеевич,

Тогда задам вопрос иначе: как вернуть текст из этих данных?
Сконвертировать же. Хоть на сервере, хоть на клиенте.
22 июл 13, 14:46    [14599388]     Ответить | Цитировать Сообщить модератору
 Re: image to text  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2415
Alexoliss,

вы прочитайте в хелпе, что такое тип "имаже"
22 июл 13, 14:48    [14599410]     Ответить | Цитировать Сообщить модератору
 Re: image to text  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
Alexoliss,

SELECT CAST(CAST(DocText AS binary) AS varchar(4000)) -- или nvarchar, смотря что складывали
FROM FreeClientDoc 
WHERE client = 864 AND DocName = 'бла бла'
22 июл 13, 14:57    [14599475]     Ответить | Цитировать Сообщить модератору
 Re: image to text  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Shakill
CAST(DocText AS binary)

Этим вы возьмёте только первые 30 байт из DocText.
BOL -> CAST and CONVERT
Syntax for CAST:
CAST ( expression AS data_type [ ( length ) ] )
length
Is an optional integer that specifies the length of the target data type. The default value is 30.
22 июл 13, 15:04    [14599511]     Ответить | Цитировать Сообщить модератору
 Re: image to text  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
Гость333,
да, забыл, varbinary надо
22 июл 13, 15:05    [14599518]     Ответить | Цитировать Сообщить модератору
 Re: image to text  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
Shakill, стоять. varbinary(max)
22 июл 13, 15:06    [14599523]     Ответить | Цитировать Сообщить модератору
 Re: image to text  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3422
Shakill,

Если у ТСа 2000-й, а судя по всему очень похоже, то max-тип - самое оно.
22 июл 13, 15:09    [14599548]     Ответить | Цитировать Сообщить модератору
 Re: image to text  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
Ennor Tiegael, ну в таком случае напишет 8000 вместо max, я думаю догадается
22 июл 13, 15:12    [14599567]     Ответить | Цитировать Сообщить модератору
 Re: image to text  [new]
Alexoliss
Member

Откуда: Донецк
Сообщений: 37
Shakill,

Помогло! Спасибо!! Я делал так же, тольк очерез
CONVERT
, после чего мне писало ошибку, что явное преобразование image в текст запрещено. Скуль 2008й. Я пошёл по иному пути и настал тупик. Еще раз спасибо!!!
22 июл 13, 16:07    [14599896]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить