powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / SQL выборка данных по размеру или по длине значения
19 сообщений из 19, страница 1 из 1
SQL выборка данных по размеру или по длине значения
    #39712650
Miner_Mira
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть БД ORACLE
Есть в ней таблица с фотографиями, тип данных BLOB.
Некоторые фото плохого качества. Необходимо заменить эти фото.
Отличительная особенность фото плохого качества - это малый размер данных в столбце FOTO, тип данных BLOB (к примеру данные занимают менее 5 килоБайт).
Задача = найти строки в таблице с фотографиями, где данные в столбце FOTO занимают менее 5 килоБайт.
...
Рейтинг: 0 / 0
SQL выборка данных по размеру или по длине значения
    #39712651
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A что LENGTH уже отменили?

SY.
...
Рейтинг: 0 / 0
SQL выборка данных по размеру или по длине значения
    #39712773
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SYA что LENGTH уже отменили?А по какой документации ей быть применимой к B LOB?
...
Рейтинг: 0 / 0
SQL выборка данных по размеру или по длине значения
    #39712779
maverick2104
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_lob.getlength
...
Рейтинг: 0 / 0
SQL выборка данных по размеру или по длине значения
    #39714037
Miner_Mira
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maverick2104,

SELECT DBMS_LOB.GETLENGTH(foto) FROM fotes
where id=47

ORA-00997: неверное использование типа данных LONG

что делать?
...
Рейтинг: 0 / 0
SQL выборка данных по размеру или по длине значения
    #39714044
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Miner_Miraчто делать?

Для начала выдать нормальный test case.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Connected to Oracle Database 18c Standard Edition 2 Release 18.0.0.0.0 
Connected as system@TEST

SQL> create table t1(f blob);

Table created


SQL> insert into t1 values(utl_raw.cast_to_raw('test'));

1 row inserted


SQL> select dbms_lob.getlength(f) from t1;

DBMS_LOB.GETLENGTH(F)
---------------------
                    4

SQL> 

...
Рейтинг: 0 / 0
SQL выборка данных по размеру или по длине значения
    #39714048
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElicА по какой документации ей быть применимой к B LOB?

Доверяй, но проверяй:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
SQL> create table tbl(b blob)
  2  /

Table created.

SQL> declare
  2      v_blob blob := utl_raw.cast_to_raw(lpad('9',1000,'9'));
  3  begin
  4      for v_i in 1..20 loop
  5        dbms_lob.append(v_blob,v_blob);
  6      end loop;
  7      insert into tbl values(v_blob);
  8  end;
  9  /

PL/SQL procedure successfully completed.

SQL> select  length(b) length_b,
  2          dbms_lob.getlength(b) getlength_b
  3    from  tbl
  4  /

  LENGTH_B GETLENGTH_B
---------- -----------
1048576000  1048576000

SQL> 



SY.
...
Рейтинг: 0 / 0
SQL выборка данных по размеру или по длине значения
    #39714051
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Miner_Miraчто делать?

Медитировать на тему LONG vs BLOB. И читать доку:

LONG
The LONG datatype stores character strings longer than 4000 bytes. You can store up to two gigabytes (2^31-1 bytes) in a LONG column. Columns of this type are used only for storage and retrieval of long strings. They cannot be used in functions, expressions, or WHERE clauses. LONG column values are generally converted to and from character strings.

Do not create tables with LONG columns. Use LOB columns (CLOB, NCLOB, or BLOB) instead. LONG columns are supported only for backward compatibility.

Oracle also recommends that you convert existing LONG columns to LOB columns. LOB columns are subject to far fewer restrictions than LONG columns. Furthermore, LOB functionality is enhanced in every release, but LONG functionality has been static for several releases.

SY.
...
Рейтинг: 0 / 0
SQL выборка данных по размеру или по длине значения
    #39714192
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SYДоверяй, но проверяй:Соломон, при наличии документированных средств нет никакой надобности эксплуатировать недокументированные, рискуя получить когда-нибудь нежданьчик, не правда ли? В качестве тарантула ты б такое посоветовал?
...
Рейтинг: 0 / 0
SQL выборка данных по размеру или по длине значения
    #39715193
Miner_Mira
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тип данных таблицы фото TOAD отображает по разному, как BLOB и как LONG.
...
Рейтинг: 0 / 0
SQL выборка данных по размеру или по длине значения
    #39715195
Miner_Mira
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
SQL выборка данных по размеру или по длине значения
    #39715196
Miner_Mira
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
SQL выборка данных по размеру или по длине значения
    #39715197
Miner_Mira
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извиняюсь две первых одинаковые BLOB залил.
Но тот же TOAD может посчитать размер этих данных без проблем
Неужели нет метода в SQL, который так же просто мог считать размер данных как TOAD ?
...
Рейтинг: 0 / 0
SQL выборка данных по размеру или по длине значения
    #39715200
Miner_Mira
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ситуация прежняя

SELECT DBMS_LOB.GETLENGTH(IMAGE) FROM IMAGES
where pid=....

ORA-00997: неверное использование типа данных LONG
...
Рейтинг: 0 / 0
SQL выборка данных по размеру или по длине значения
    #39715336
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Miner_MiraORA-00997: неверное использование типа данных LONGИскалеченная гуем дитя, какой древности проект тебе попался? Грубо говоря, такие типы данных использовались в прошлом(!) веке.
...
Рейтинг: 0 / 0
SQL выборка данных по размеру или по длине значения
    #39715435
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Miner_MiraНо тот же TOAD может посчитать размер этих данных без проблем
Неужели нет метода в SQL, который так же просто мог считать размер данных как TOAD ?
Нет.
Ваши данные лежат в LONG RAW.
Этот "недотип" не поддерживается в PL/SQL, только OCI и, емнип, JDBC.
...
Рейтинг: 0 / 0
SQL выборка данных по размеру или по длине значения
    #39715445
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousЭтот "недотип" не поддерживается в PL/SQLОпределить длину до 32К можно. А больше и не нужно.
...
Рейтинг: 0 / 0
SQL выборка данных по размеру или по длине значения
    #39715600
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Miner_Miramaverick2104,

SELECT DBMS_LOB.GETLENGTH(foto) FROM fotes
where id=47

ORA-00997: неверное использование типа данных LONG

что делать?
завязывать с пыльными недо_типами
to_lob
...
Рейтинг: 0 / 0
SQL выборка данных по размеру или по длине значения
    #39715759
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousMiner_MiraНо тот же TOAD может посчитать размер этих данных без проблем
Неужели нет метода в SQL, который так же просто мог считать размер данных как TOAD ?
Нет.
Ваши данные лежат в LONG RAW.
Этот "недотип" не поддерживается в PL/SQL, только OCI и, емнип, JDBC.смотрели прорабатывали закачку VarBinary(max) из mssql кусочками по 4к; на основании чего строился линк, щаз не скажу, что-то бесплатное
тип оказался LONG RAW
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / SQL выборка данных по размеру или по длине значения
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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