Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.04;
Скачать: CL | DM;

Вниз

Как определить пуст блоб или нет   Найти похожие ветки 

 
darlock   (2006-11-16 12:28) [0]

Привет всем!

А не подскажет ли кто-то как можно определить что у меня находится в BLOB поле - EMPTY_BLOB() или картинка? Я знаю что можно функцией LENGTH(PHOTO)=0 - но в случае больших выборок с большими блобами ИМХО селект будет хорошо подтормаживать (ведь тогда оно будет считать размер каждого BLOBa)?

Спасибо


 
clickmaker ©   (2006-11-16 12:35) [1]

Field.IsNull


 
ЮЮ ©   (2006-11-16 12:41) [2]


> Field.IsNull


Так это на клиенте. Что не спасет в случае больших выборок с большими блобами . В этом случае спасет <NULL> или <значение ключевого поля в другой таблице, содержащей только блобы, часто бесполезные в больших выборках>


 
sniknik ©   (2006-11-16 12:47) [3]

> Так это на клиенте.
а на сервере IS NULL, IS NOT NULL в условии отбора.


 
ЮЮ ©   (2006-11-16 12:51) [4]


> в условии отбора.


можно и как поле выборки
Select Id, case when html is null then 0 else 1 end htmlPresented from U_WorkPlans


 
darlock   (2006-11-16 13:53) [5]

Наверное я плохо описал проблему. Суть в том что в поле BLOB на стороне сервера может быть либо NULL либо какое-то значение. Какое-то значение BLOB поля вставляется в оракл путем создания LOB_locator-а функцией EMPTY_BLOB(), а затем это значние UPDATEится на фотографию к примеру. Но если фотографии нету - в базе так и остается LOB_Locator созданный функцией EMPTY_BLOB(). Получается что это уже не NULL - т.к. LOB_Locator уже создан, но с другой стороны он укзаывает в никуда - т.е. фактически он пустой. Вот я и хочу узнать может быть как-то можно отличить NULL от EMPTY_BLOB, кроме как вызовом функции length

Спасибо


 
Desdechado ©   (2006-11-16 16:50) [6]

1. а зачем лепить туда пустой блоб, если можно его лепить туда только полный?
2. length AFAIR не работает с блоб
3. поищи в dbms_lob


 
sniknik ©   (2006-11-16 16:57) [7]

может и сравнивать с пустым? сделать переменную такого же типа, присвоить ей аналогично пустой... и сравнивать.

> 2. length AFAIR не работает с блоб
в mssql точно не работает (как и сравнение), т.что совет выше, только с оговоркой на особенности sql сервера (позволяет одно так почему бы и не другое)



Страницы: 1 вся ветка

Текущий архив: 2007.02.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.031 c
15-1168768049
Footballer
2007-01-14 12:47
2007.02.04
Олимпиада по информатике


15-1168813603
Ученик чародея
2007-01-15 01:26
2007.02.04
Как выучить английский так чтобы fluent


15-1168625855
1-st...
2007-01-12 21:17
2007.02.04
SSL +delphi


2-1169011604
Marat
2007-01-17 08:26
2007.02.04
F1Book


2-1169042673
Extar
2007-01-17 17:04
2007.02.04
ЕХЕ весит 25кб и не запускается на других машинах почему?