Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / BLOB в VARBINARY / 12 сообщений из 12, страница 1 из 1
23.06.2014, 17:43:41
    #38677718
JackST
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BLOB в VARBINARY
Привет

Подскажите, как сконвертировать blob в varbinary на Firebird?
...
Рейтинг: 0 / 0
23.06.2014, 17:47:37
    #38677724
zirra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BLOB в VARBINARY
JackST> Подскажите, как сконвертировать blob в varbinary на Firebird?
А что такое varbinary ???

--
Vladimir A.Bakhvaloff
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
23.06.2014, 17:50:39
    #38677729
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BLOB в VARBINARY
JackST > Подскажите, как сконвертировать blob в varbinary на Firebird?

Для чего нужно, откуда этот varbinary в Firebird взялся?

P.S. Если автоматом не скастуется (вроде должен) -
то просто кастуй к varchar-у максимальной длины.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
23.06.2014, 18:40:21
    #38677804
JackST
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BLOB в VARBINARY
Спасибо.
Скастил значения.

Теперь хочу сконвертированные значения в новое поле hvc.

update table SET hvc = (SELECT CAST(SUBSTRING(users.h FROM 1 FOR 64) AS VARCHAR(64)) AS hvc FROM table);

Получаю ошибку:
multiple rows in singleton select.
...
Рейтинг: 0 / 0
23.06.2014, 18:45:16
    #38677811
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BLOB в VARBINARY
JackST,

правильно получаешь ошибку. потому что в каждый столбец ты хочешь засунуть все значения, полученные из всех записей table.
...
Рейтинг: 0 / 0
23.06.2014, 18:47:03
    #38677813
rstrelba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BLOB в VARBINARY
JackST,

Код: plsql
1.
update table SET hvc = CAST(SUBSTRING(users.h FROM 1 FOR 64) AS VARCHAR(64))
...
Рейтинг: 0 / 0
23.06.2014, 19:22:44
    #38677840
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BLOB в VARBINARY
JackST> update table

Прямо вот так вот? :) При таком запросе текст ошибки был бы другой.

JackST> SET hvc = (SELECT CAST(SUBSTRING(users.h FROM 1 FOR 64) AS VARCHAR(64)) AS hvc FROM table);

Текст ошибки означает возврат нескольких записей в подзапросе,
обычно решается либо выборкой одной записи по primary key (ID),
либо ограничением количества записей выборки (First 1).

Но в данном случае - такие запросы - типа апдейт строки значениями
этой же строки - реализуются вообще без подзапроса, примерно как
показал выше Руслан.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
23.06.2014, 19:36:06
    #38677854
JackST
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BLOB в VARBINARY
Т.е. можно сразу сконвертировать текущее поле hvc из blob в varchar вот таким запросом?
update users SET hvc = CAST(SUBSTRING(users.hvc FROM 1 FOR 64) AS VARCHAR(64));
...
Рейтинг: 0 / 0
23.06.2014, 19:43:04
    #38677857
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BLOB в VARBINARY
Да.

P.S. Префикс перед именем поля необязателен, но желателен.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
23.06.2014, 20:04:43
    #38677864
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BLOB в VARBINARY
JackSTТ.е. можно сразу сконвертировать текущее поле hvc из blob в varchar вот таким
запросом?
Нет, этот запрос неспособен изменить тип поля. Тут ALTER TABLE понадобится.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
24.06.2014, 05:58:27
    #38678004
_гот_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BLOB в VARBINARY
Гаджимурадов РустамДа.Dimitry SibiryakovНет, <skipped> Готично.
...
Рейтинг: 0 / 0
24.06.2014, 18:01:43
    #38678877
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BLOB в VARBINARY
Нет там ничего готичного.

Так апдейтить можно, нужно и правильно,
но Дима прав в том, что такой апдейт не
изменит типа поля (это я проглядел) -
т.е. нужно по старинке добавлять новое
поле, апдейтить в него, удалять старое и
переименовывать новое поле в старое.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / BLOB в VARBINARY / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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