본문 바로가기

오라클

(9)
자바 JSP 에서 DB 에 엔터문자를 넣을 때 2바이트로 저장되는 것을 1바이트로 바꾸려면.. - 자바에서 개행(엔터) 문자는 1바이트로 인식- 자바스크립트에서 개행(엔터)문자는 1바이트로 인식- 오라클에서 개행(엔터) 문자는 1바이트로 인식 그런데..java 에서 오라클에 데이타를 넣을 때,1바이트인 개행(엔터) 문자를 DB 에 넣으면 2바이트가 된다고..그래서 고민하고 찾아보니,OS 에 따라 개행(엔터) 문자를 \n 이 아니라 \r\n 으로 인식하기도 한다는 것.여기서 \n 에 해당하는 오라클 함수는 chr(10), \r 은 chr(13).이제 어떻게 하면 될지 아셨죠..?replace('문자열',chr(13)||chr(10),chr(10)) 으로 해 주면 된다는 거죠.replace('문자열',chr(10)||chr(13),chr(10)) 은 2바이트가 1바이트로 변경되지 않아요.replace..
오라클 주차, 오늘이 포함된 주차의 첫 날과 끝 날 http://blog.naver.com/ejjungeo/50185166630to_char(sysdate,'iw'), 1년에서의 주차(최대 53주차),to_char(sysdate,'ww'), 1년에서의 주차(최대 53주차)to_char(sysdate,'w') 이달에서의 주차(최대 5주차) 오늘이 포함된 주차의 첫 날과 끝 날to_char() 함수에서 옵션이 'd' 가 붙으면, 일요일이 1, 월요일이 2, ...아래 내용은 주차의 첫 날이 월요일이라고 할 때 그렇구요..select to_char(sysdate-decode(to_char(sysdate,'d'), 1,6, 2,0, 3,1, 4,2, 5,3, 6,4, 7,5),'yyyymmdd') f, to_char(sysdate+decode(to_char(sy..
오라클 like 검색시 * 나 _ 를 사용하는 경우 escape 키워드 사용 DB 테이블 tableA 의 칼럼 columnA 에 'a_bcdef' 와 'b_bcdef' 가 들어 있는데,앞에 있는 글자는 무엇이 와도 되지만 두번째 글자에는 '_' 가 들어가야 할 때 어떻게 쿼리해야 할까..? select from tableA where columnA like '_#_%' escape '#'; 이렇게 하면 무슨 뜻일까..? '_' 는 어떤 단어든 하나를 대체한다는 의미에서 '?' 검색과 동일하고,'%' 는 문자나 수량에 상관없다는 의미에서 '*' 검색과 동일.따라서 상기 쿼리에서,첫번째 '_' 는 어떤 문자든이라는 의미에서 '?' 검색..두번째의 # 은 escpae '#' 에 의해서 쿼리가 실제 동작할 때 '_#_%' 에서 '#' 을 빼라는 의미인데,그 다음 문자인 세번째 '_' 는..
ora-00997, long data 유형은 사용할 수 없다..? long raw 작업시 to_lob 고려 2개의 테이블이 동일하게 생겼는데 insert ~ select 문을 사용하니까, ora-00997 오류 발생.확인해 보니 Long Data 유형을 사용할 수 없다고 하는데..칼럼에 Long raw 가 하나 들어가다 보니 발생. 네이버에 검색해 보니 Procedure 문에서 커서를 사용하면 된다는데..이리저리 해 보아도 안 되네요. 그리고 쿼리문으로는 안 되는 것인가..? 옆에 있는 동료에게 문의해 보니 to_lob 함수를 사용해 보라는데..헐, 그냥 되네요.. ~. 아래 쿼리문에서 문제의 long raw 칼럼이 columnB 라고 하면,insert into tableA(columnA, columnB, ...)select columnA, to_lob(columnB), ... from tableB a whe..
오라클 all_resource 에서 특정 문자열 포함한 내용 찾기 http://blog.naver.com/kalbin_2?Redirect=Log&logNo=140125815940 시스템 계정으로 로그인 한 다음 아래 쿼리를 실행.select * from all_source where text like '%검색어%';
[모음글] 자바스크립트, 자바, Oracle replaceAll - split 과 join 함수를 사용하는 방법. 가장 맘에 드는 방법.. ~. http://www.9f.co.kr/bbs/board.php?bo_table=data04&wr_id=38 문자열에서 특정 단어에 태그를 넣을때 -> var tag = '...'; $(this).html().split(tag).join('' +tag+ '') - replace 함수와 표현식을 사용하는 방법. http://blog.naver.com/bluemoonlk?Redirect=Log&logNo=110134372966 var tag = '...'; $(this).html().replace(new RegExp(tag, 'g'), '' +tag+ ''); - 루프를 사용하는 방법.. 소스가 길어지네요.. http://blog...
오라클 11g, 정렬이 중요하다면 인덱스를 타도록 힌트를 주더라도 order by 명시 오라클 9i 에서 인덱스를 타도록 힌트를 주었고 order by 문장 없이 잘 돌아가던 쿼리가,오라클 11g 에서 정상적으로 나오지 않아서 order by 문장 없이 다시 힌트를 고쳤는데..통계를 갱신했더니 다시 순서가 틀어지네요..결국, 오라클 11g 에서는 옵티마이저가 플랜을 세우는데 혼동이 생기지 않도록 order by 를 주는 것이 정석인 모냥이네요..
UTL_HTTP 패키지를 사용하여 오라클 DB 에서 URI 호출하는 DB 프로시저 생성 혹시 10g 나 9i 에선 잘 되던 것이 11g 로 바뀌고 난 다음에 작동하지 않는다면 아래 링크를 클릭해 보세요.11g 부터는 utl_http 에 대한 접근권한을 설정해야 작동합니다 이곳에서는 단순히 URI 를 호출하는 방식을 기술합니다. Response 에 담아와서 추가적인 작업을 할 수도 있습니다. DB 프로시저에 .jsp 를 일단 등록했으니, DB Job 에 등록하면 매번 자동으로 돌아가게 할 수가 있습니다. Java 로 만들어서 Crontab 에 돌리는 것과 같은 효과입니다. CREATE OR REPLACE PROCEDURE SP_A IS REQ UTL_HTTP.REQ; RESP UTL_HTTP.RESP; BEGIN UTL_HTTP.SET_TRANSFER_TIMEOUT(5); -- 5초 이상 걸..