![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как определить пуст блоб или нет [D6]
darlock © (2006-11-16 12:28:00)Привет всем!
А не подскажет ли кто-то как можно определить что у меня находится в BLOB поле - EMPTY_BLOB() или картинка? Я знаю что можно функцией LENGTH(PHOTO)=0 - но в случае больших выборок с большими блобами ИМХО селект будет хорошо подтормаживать (ведь тогда оно будет считать размер каждого BLOBa)?
Спасибо
sniknik (2006-11-16 16:57:00) [1]может и сравнивать с пустым? сделать переменную такого же типа, присвоить ей аналогично пустой... и сравнивать.
> 2. length AFAIR не работает с блоб
в mssql точно не работает (как и сравнение), т.что совет выше, только с оговоркой на особенности sql сервера (позволяет одно так почему бы и не другое)
Desdechado (2006-11-16 16:50:00) [2]1. а зачем лепить туда пустой блоб, если можно его лепить туда только полный?
2. length AFAIR не работает с блоб
3. поищи в dbms_lob
darlock (2006-11-16 13:53:00) [3]Наверное я плохо описал проблему. Суть в том что в поле BLOB на стороне сервера может быть либо NULL либо какое-то значение. Какое-то значение BLOB поля вставляется в оракл путем создания LOB_locator-а функцией EMPTY_BLOB(), а затем это значние UPDATEится на фотографию к примеру. Но если фотографии нету - в базе так и остается LOB_Locator созданный функцией EMPTY_BLOB(). Получается что это уже не NULL - т.к. LOB_Locator уже создан, но с другой стороны он укзаывает в никуда - т.е. фактически он пустой. Вот я и хочу узнать может быть как-то можно отличить NULL от EMPTY_BLOB, кроме как вызовом функции length
Спасибо
ЮЮ (2006-11-16 12:51:00) [4]
> в условии отбора.
можно и как поле выборки
Select Id, case when html is null then 0 else 1 end htmlPresented from U_WorkPlans
sniknik (2006-11-16 12:47:00) [5]> Так это на клиенте.
а на сервере IS NULL, IS NOT NULL в условии отбора.
ЮЮ (2006-11-16 12:41:00) [6]
> Field.IsNull
Так это на клиенте. Что не спасет в случае больших выборок с большими блобами . В этом случае спасет <NULL> или <значение ключевого поля в другой таблице, содержащей только блобы, часто бесполезные в больших выборках>
clickmaker (2006-11-16 12:35:00) [7]Field.IsNull