본문 바로가기
TechNical/Oracle

거지같은 CLOB 이랑 안면 트기...

by 강멍멍이 2008. 12. 8.
반응형

VARCHAR2 타입은 최대 길이가 4000byte 로 정해져 있다.
데이터가 4000바이트가 넘어가면 에러를 뱉어 낸다.
그런데 데이터라는 것이 4000 바이트로 성이 찰 리가 없다. 그래서 생겨난것이 CLOB 타입 인데...
4000 바이트를 넘어가니까 어쩔 수 없이 CLOB을 쓰긴 써야 되는데 이놈이 여간 거지 같은게 아니다.

CLOB은 다른 애들이랑 어울리길 거부한다. 당연한 것이.. 타입이 틀리니까 ..
NUMVER랑 CHAR랑 틀린거.. 뭐 똑같은 거다.. 근데 문제는 .. 이 놈은 타입케스팅이 거지 같다는 거다.
내가 잘 몰라서 그러겠지만.. 안 되는거 같다.. TO_LOB... 개나 줘라 그래 ㅡㅡ
NVL은 되면서 DECODE, COALESCE는 까칠하게 싫다고 한다..
WHERE 절에 들어갈때는 기가 찬다... 이거 어케 비교할끼 앞이 깜깜하다..

DBMS_LOB.SUBSTR 이였던가 뭐시깽이였던가.. 이런것도 있었는데 이 생키는 4000에서 짤라 버리기 때문에
진정한 가치는 떨어지는듯.. 4000 넘어가면 다 짜르는거야? 너무하자나 이건
그나마 건진 것이... equal 조건은 못 해도 LIKE 는 된다는 것 이다. 완전 만세?
그러니까...

WHERE lob_data = ''   이렇게 하면 -이(가) 뭐시기뭐시기 CLOB임... 버릇없에 임.. 이케.. ㅡㅡ

그래서 이놈을 LIKE로 바꾸면
WHERE lob_data like '' 이렇게 하면 문제 없다능... ;;; 당황스럽지 않은가? ㅋㅋㅋㅋㅋㅋㅋ

그리고 이 놈은.. GROUP BY 절에서 어울리기를 태초부터 거부했다. 사회성 없는 놈.. ㅡㅡ
나름 생각하기를 CLOB은 거물급인데 그룹으로 하기에는 거시기 하다 이건가..
근데.. 이렇게 큰 놈을 만들었는데 GROUP BY 해야 할 필요가 있나 모르겠다.
여튼.. JOIN도 안 된다고 하더라.. 아.. UNION은 된다고 했던가?

이래저래 이 녀석 때문에 스트레스가 이만저만이 아니구나.. 너 나쁘다.. ㅠ.ㅠ

반응형

댓글