[Oracle] SYS_CONNECT_BY_PATH

DB 2014. 10. 27. 13:30
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

with MODEL_DESC as (
select MODEL_TYPE, MODEL_DEV_NM
from TB_SBRCMxxx
UNION ALL
select MODEL_TYPE, MODEL_DEV_NM
from TB_SWQTMxxx
)
select  substr(max(SYS_CONNECT_BY_PATH (REGEXP_REPLACE(SUBSTR(SUBSTR(MODEL_DEV_NM, 1, LENGTH(MODEL_DEV_NM)-4),5),'[0-9]','#') || SUBSTR(MODEL_DEV_NM,-4,4) , ',')), 2) as MODEL_DEV_NM
FROM (
SELECT MODEL_DEV_NM, ROWNUM as RNUM
 from MODEL_DESC
) START WITH RNUM = 1 CONNECT BY PRIOR RNUM = RNUM - 1

 

 

 

 

 

with MODEL_DESC as (
select MODEL_TYPE, MODEL_DEV_NM
from TB_SBRCMxxx
UNION ALL
select MODEL_TYPE, MODEL_DEV_NM
from TB_SWQTMxxx
)
select  MODEL_TYPE, substr(max(SYS_CONNECT_BY_PATH (REGEXP_REPLACE(SUBSTR(SUBSTR(MODEL_DEV_NM, 1, LENGTH(MODEL_DEV_NM)-4),5),'[0-9]','#') || SUBSTR(MODEL_DEV_NM,-4,4) , ',')), 2) as MODEL_DEV_NM
from (
    select MODEL_TYPE, MODEL_DEV_NM, ROW_NUMBER() OVER (PARTITION by MODEL_TYPE order by MODEL_DEV_NM) RNUM
    from(
    select MODEL_DEV_NM, MODEL_TYPE, ROWNUM as RNUM
     from MODEL_DESC
    )
)
START WITH RNUM = 1 CONNECT BY PRIOR RNUM = RNUM - 1
and PRIOR MODEL_TYPE = MODEL_TYPE
group by MODEL_TYPE
order by MODEL_TYPE

 

 

 

 

- 조회된 SQL 쿼리의 열을 구분자를 이용하여 행으로 나열하고 싶을때 사용

- 연결하려는 문자열의 수가 많아질 경우 쿼리의 performance 문제 발생 여지가 있음.

- Oracle 10g 부터 사용

'DB' 카테고리의 다른 글

[Oracle] UNION & UNION ALL  (0) 2014.10.29
[Oracle] CONNECT BY LEVEL  (0) 2014.10.27
[Oracle] with 절  (0) 2014.10.27
[Oracle]REGEXP_REPLACE  (0) 2014.09.29
[Oracle]피벗(Pivot)과 언피벗(UnPivot)  (0) 2014.09.25
블로그 이미지

겐타쓰

,

[Oracle] with 절

DB 2014. 10. 27. 11:51
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

with MODEL_DESC as (
select MODEL_TYPE, MODEL_DEV_NM
from TB_SBRCMxxx
UNION ALL
select MODEL_TYPE, MODEL_DEV_NM
from TB_SWQTMxxx
)
select REGEXP_REPLACE(SUBSTR(SUBSTR(MODEL_DEV_NM, 1, LENGTH(MODEL_DEV_NM)-4),5),'[0-9]','#') || SUBSTR(MODEL_DEV_NM,-4,4)

from MODEL_DESC
where MODEL_TYPE > 10
order by MODEL_TYPE

 

 

 

 

 

- with 절 안에 있는 데이터를 임시 테이블화 하여 select 하게 해준다.

- 생성된 with 절 데이터는 메모리에 생성되고 SQL 조회 후 사라진다.

- SQL 쿼리 내에서는 with 절은 한번만 사용해야 한다.

- Oracle 9i 이상 사용가능.

 

'DB' 카테고리의 다른 글

[Oracle] CONNECT BY LEVEL  (0) 2014.10.27
[Oracle] SYS_CONNECT_BY_PATH  (0) 2014.10.27
[Oracle]REGEXP_REPLACE  (0) 2014.09.29
[Oracle]피벗(Pivot)과 언피벗(UnPivot)  (0) 2014.09.25
[Oracle]Oracle 언어 확인 및 설정  (0) 2014.06.09
블로그 이미지

겐타쓰

,

HTML5 video & audio 태그

script 2014. 10. 20. 15:16
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

[Browser 별 사용가능 파일형식]

 

[Browser 버전 별 사용]

 

[HTML5 video/audio Methods, Properties, Event]

1. http://www.w3schools.com/tags/ref_av_dom.asp 에서 참고.

2. <video> 태그를 <audio> 태그로 바꿔주면 audio 를 사용 할 수 있음.

3. 아이폰, 안드로이드 에서도 실행 가능.

4. 별도의 플러그 인이 필요 없음.

5. 브라우저별로 보이는 모습이 조금씩 다르고, 웹표준이여서 그나마 브라우저별로 통일된 모습을 보여줬음.

 

파일 :video.jsp

        sample.jsp

 

 

'script' 카테고리의 다른 글

Ajax 한글깨짐 문제  (0) 2014.12.09
[JavaScript] jsp replace  (0) 2014.11.03
highcharts(하이차트) Demo  (0) 2014.10.17
oncontextmenu, ondragstart, onselectstart  (0) 2014.09.25
[JavaScript]워드프레스 익스 호환성문제  (0) 2014.08.19
블로그 이미지

겐타쓰

,
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

<script language="javascript" src="/inc/jquery-1.4.4.min.js"></script>jquery-1.4.4.min.js
<script language="javascript" src="/inc/jquery.mousewheel.min.js"></script>
jquery.mousewheel.min.js
<script language="javascript" src="/inc/highcharts.js"></script>
highcharts.js
<script language="javascript" src="/inc/exporting.js"></script>
exporting.js

 

사용상 참고사항

1. 디자인 깔끔하면서 역동적 이고 jQuery 를 알면 사용법이 간단

2. 외국 오픈소스고 좋은 차트일 경우 라이센스가 있음.

3. 외국 오픈소스라 그런지 날짜 표현방식이나 구현 방법이 좀 생소함.

4. 샘플 소스는 홈페이지 http://www.highcharts.com/ 에서 다운로드 해서 확인할 수 있음

'script' 카테고리의 다른 글

[JavaScript] jsp replace  (0) 2014.11.03
HTML5 video & audio 태그  (0) 2014.10.20
oncontextmenu, ondragstart, onselectstart  (0) 2014.09.25
[JavaScript]워드프레스 익스 호환성문제  (0) 2014.08.19
[script] web.xml Globle Error 설정  (0) 2014.01.20
블로그 이미지

겐타쓰

,
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

 

 프로젝트 하느라 시간가는 줄 모르다가 드디어 LED 조명을 다 달았다 하네요.

촌스럽기도 한거 같고...있어 보이는거 같기도 하고..

 

오늘 부터 놀까 했는데..제안서 작업으로 이 시간 까지..이사님이랑 부장님이 토론 중이시네요....;;;

 

 

펜션서 일하면서 개한마리 있었으면 했는데 ㅋㅋㅋ

카페 사장님께서 알프라는 리트리버를 데려왔어요.ㅋㅋㅋ

내려 갈때마다 자주 놀아줘야지~~

 

카페도 완성되 가는거 같고,

뭔가 채워져 가는 느낌이 좋네요.^^

 

 

 

 

블로그 이미지

겐타쓰

,

[Oracle]REGEXP_REPLACE

DB 2014. 9. 29. 18:09
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

REGEXP_REPLACE : 11g 부터 사용 가능, 특정 문자 제거나 마스킹 시 유용

SELECT UPPER(REGEXP_REPLACE(MODEL_MAC, '[.]+', '')), MODEL_MAC FROM TB_SCUSTMDW
    
SELECT REGEXP_REPLACE('0102345678','^(\d{3})-?(\d{1,2})\d{2}-?\d(\d{3})$', '\1-\2**-*\3 ') AS PN 
FROM DUAL;

SELECT SUBSTR('AB1234560987',1,4) || REGEXP_REPLACE(SUBSTR(SUBSTR(  'AB1234560987', 1, LENGTH('AB1234560987')-4),5),'[0-9]','#') || SUBSTR(   'AB1234560987',-4,4)  AS EX
FROM DUAL;

'DB' 카테고리의 다른 글

[Oracle] SYS_CONNECT_BY_PATH  (0) 2014.10.27
[Oracle] with 절  (0) 2014.10.27
[Oracle]피벗(Pivot)과 언피벗(UnPivot)  (0) 2014.09.25
[Oracle]Oracle 언어 확인 및 설정  (0) 2014.06.09
[Oracle]NVL, NVL2, NULLIF  (0) 2014.01.20
블로그 이미지

겐타쓰

,
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

피벗 : 행을 열로 변환
언피벗 : 열을 행으로 변환

Oracle 11g 부터 가능

select A.*, case when L1 = '무선단절' and L2 = '신호미약' then '0101' when L1 = '무선단절'
 and L2 = '간섭' then '0102' when L1 = '무선단절'
 and L2 = 'AP 리셋' then '0103' when L1 = '무선단절'
 and L2 = '원인미상' then '0104' when L1 = '무선품질'
 and L2 = '신호미약' then '0201' when L1 = '무선품질'
 and L2 = '재접속' then '0202' when L1 = '연결'
 and L2 = '댁내' then '0301' when L1 = '연결'
 and L2 = 'NW' then '0302' when L1 = '연결'
 and L2 = 'IP망' then '0303' when L1 = '연동'
 and L2 = '단말' then '0401' when L1 = '연동'
 and L2 = '서버' then '0402' when L1 = '연동'
 and L2 = '기타' then '0403' when L1 = '절단'
 and L2 = '호절단' then '0501' when L1 = '음질'
 and L2 = '음질불량(평균)' then '0601' when L1 = '음질'
 and L2 = '음질불량(최소)' then '0602' when L1 = '음질'
 and L2 = 'OneWay Call' then '0603' when L1 = '기타'
 and L2 = '원인미상' then '0701' end as middlecode
 from (
select substr(PTYPE, 0, instr (PTYPE, ' ', 1, 1) - 1) as L1, substr(PTYPE, instr (PTYPE, ' ', 1, 1) + 1,
 length(PTYPE) - instr (PTYPE, ' ', 1, 1)) L2, CALL_TRY_FAIL, CUST_CNT, VOC_CNT,
 TOTAL_CUST_CNT, round(CALL_TRY_FAIL / TOTAL_CUST_CNT * 100, 8) as RATE
 from (
select PTYPE, sum(val) as CALL_TRY_FAIL, count(distinct (case when PTYPE = '무선단절 신호미약'
 and VAL > 0 then CUST_NUM when PTYPE = '무선단절 간섭'
 and VAL > 0 then CUST_NUM when PTYPE = '무선단절 AP 리셋'
 and VAL > 0 then CUST_NUM when PTYPE = '무선단절 원인미상'
 and VAL > 0 then CUST_NUM when PTYPE = '무선품질 신호미약'
 and VAL > 0 then CUST_NUM when PTYPE = '무선품질 재접속'
 and VAL > 0 then CUST_NUM when PTYPE = '연결 댁내'
 and VAL > 0 then CUST_NUM when PTYPE = '연결 NW'
 and VAL > 0 then CUST_NUM when PTYPE = '연결 IP망'
 and VAL > 0 then CUST_NUM when PTYPE = '연동 단말'
 and VAL > 0 then CUST_NUM when PTYPE = '연동 서버'
 and VAL > 0 then CUST_NUM when PTYPE = '연동 기타'
 and VAL > 0 then CUST_NUM when PTYPE = '절단 호절단'
 and VAL > 0 then CUST_NUM when PTYPE = '음질 음질불량(평균)'
 and VAL > 0 then CUST_NUM when PTYPE = '음질 음질불량(최소)'
 and VAL > 0 then CUST_NUM when PTYPE = '음질 OneWay Call'
 and VAL > 0 then CUST_NUM when PTYPE = '기타 원인미상'
 and VAL > 0 then CUST_NUM else null end)) as CUST_CNT, sum((case when PTYPE = '무선단절 신호미약'
 and VAL > 0 and QTY_VOC > 0 then QTY_VOC when PTYPE = '무선단절 간섭'
 and VAL > 0 and QTY_VOC > 0 then QTY_VOC when PTYPE = '무선단절 AP 리셋'
 and VAL > 0 and QTY_VOC > 0 then QTY_VOC when PTYPE = '무선단절 원인미상'
 and VAL > 0 and QTY_VOC > 0 then QTY_VOC when PTYPE = '무선품질 신호미약'
 and VAL > 0 and QTY_VOC > 0 then QTY_VOC when PTYPE = '무선품질 재접속'
 and VAL > 0 and QTY_VOC > 0 then QTY_VOC when PTYPE = '연결 댁내'
 and VAL > 0 and QTY_VOC > 0 then QTY_VOC when PTYPE = '연결 NW'
 and VAL > 0 and QTY_VOC > 0 then QTY_VOC when PTYPE = '연결 서버'
 and VAL > 0 and QTY_VOC > 0 then QTY_VOC when PTYPE = '연동 단말'
 and VAL > 0 and QTY_VOC > 0 then QTY_VOC when PTYPE = '연동 서버'
 and VAL > 0 and QTY_VOC > 0 then QTY_VOC when PTYPE = '연동 기타'
 and VAL > 0 and QTY_VOC > 0 then QTY_VOC when PTYPE = '절단 호절단'
 and VAL > 0 and QTY_VOC > 0 then QTY_VOC when PTYPE = '음질 음질불량(평균)'
 and VAL > 0 and QTY_VOC > 0 then QTY_VOC when PTYPE = '음질 음질불량(최소)'
 and VAL > 0 and QTY_VOC > 0 then QTY_VOC when PTYPE = '음질 OneWay Call'
 and VAL > 0 and QTY_VOC > 0 then QTY_VOC when PTYPE = '기타 원인미상'
 and VAL > 0 and QTY_VOC > 0 then QTY_VOC else 0 end)) as VOC_CNT
 from (
select DATE_FLD, DATE_FLD1, CUST_NUM, MODEL_TYPE, MODEL_DEV_NM, MODEL_MAC,
 MODEL_FW_TYPE, TEL_NO, FAIL_TYPE, QTY_VOC, CALL_TRY_FAIL_CNT, PTYPE, VAL
 from (
select *
 from TB_SCLLUxxx
 where 1 = 1 and DATE_FLD1 >= 1411484400
 and DATE_FLD1 < 1411570800 and MODEL_TYPE in (21, 30, 31)) UNPIVOT (VAL FOR
 PTYPE in (WD_SIGNAL as '무선단절 신호미약', WD_INTERFER as '무선단절 간섭', WD_APRESET as '무선단절 AP 리셋',
 WD_ETC as '무선단절 원인미상', WQ_SIGNAL as '무선품질 신호미약', WQ_RECONN as '무선품질 재접속',
 CF_HOMENET as '연결 댁내', CF_NETWORK as '연결 NW', CF_IPNET as '연결 IP망', IF_MODEL as '연동 단말',
 IF_SERVER as '연동 서버', IF_ETC as '연동 기타', CALL_DISCONN as '절단 호절단', BAD_CALL_AVG
 as '음질 음질불량(평균)', BAD_CALL_MIN as '음질 음질불량(최소)', BAD_CALL_OWC as '음질 OneWay Call',
 TOTAL_ETC as '기타 원인미상')))
 group by PTYPE), (
select sum(CUST_CNT) as TOTAL_CUST_CNT
 from (
select distinct model_dev_nm, model_fw_type
 from TB_SCLLUxxx
 where 1 = 1 and DATE_FLD1 >= 1411484400
 and DATE_FLD1 < 1411570800 and MODEL_TYPE in (21, 30, 31)) MDL left join (
select model_Dev_nm, data_Dev_nm as model_fw_type, sum(cust_cnt) as CUST_CNT
 from tb_susrsxxx
 where 1 = 1 and DATE_FLD1 = 1411484400
 and data_dev = 5 and svc_type = 2 and MODEL_TYPE in (21, 30, 31)
 group by model_dev_nm, data_dev_nm) USR on MDL.MODEL_DEV_NM = USR.MODEL_DEV_NM
 and MDL.MODEL_FW_TYPE = USR.MODEL_FW_TYPE)) A
 order by middlecode

 

 

 

'DB' 카테고리의 다른 글

[Oracle] with 절  (0) 2014.10.27
[Oracle]REGEXP_REPLACE  (0) 2014.09.29
[Oracle]Oracle 언어 확인 및 설정  (0) 2014.06.09
[Oracle]NVL, NVL2, NULLIF  (0) 2014.01.20
[Oracle]Oracle INDEX  (0) 2012.11.14
블로그 이미지

겐타쓰

,
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

<body oncontextmenu="return false" ondragstart="return false" onselectstart="return true" >

oncontextmenu : 우클릭 이벤트, 복사방지
ondragstart : 마우스 드래그 이벤트
onselectstart : 마우스 드래그 영역선택 이벤트

'script' 카테고리의 다른 글

HTML5 video & audio 태그  (0) 2014.10.20
highcharts(하이차트) Demo  (0) 2014.10.17
[JavaScript]워드프레스 익스 호환성문제  (0) 2014.08.19
[script] web.xml Globle Error 설정  (0) 2014.01.20
[JavaScript]Struts Jsp Refresh  (0) 2014.01.20
블로그 이미지

겐타쓰

,
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

 

이번 추석에 펜션을 다녀왔는데 좀 여유가 있어서

이리저리 운전도 많이 하면서 좋은 곳을 많이 보게 됐네요.

 

곳곳에 꽃이랑 채소를 심었다고 하는데 바닷가라서 그런지

스모스는 요거 하나 살아남고.. 깻잎이랑 고추만 ㅎㅎ

 

펜션가는 길에 잠시 멈춰서 돌염전도 구경하고..

역시..애월 해안도로는 사람이 찾을만 하네요~^^

 

다음 설이나 되야 제주도 갈 수 있을꺼 같은데...

아쉬운 마음에 움짤하나 투척하고 갑니다~ㅎㅎ 쾌남~~~ㅎㅎ

 

 

 

 

 

블로그 이미지

겐타쓰

,
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

펜션 홈페이지 확인중에(제가 개발한건 아니공~ㅎ) 이미지가 깨져보인다거나 메뉴가 보이지 않는다는 이야기를 들어 확인해본 결과...워드프레스는 익스와 호환이 잘 안된다고 한다. (호환버전이 있었음..익스버전은 같은데 OS가 달라 안되는 경우도...)

해결책으로

첫번째, 인터넷 화면에서 F12을 누르면 화면에 대한 여러 정보가 담겨 있는 콘솔창이 나온다. 여기서 메뉴에 있는 문서모드를 표준으로 바꿔준다. 간혹 표준으로 되어 있지 않는 경우도 있다고 한다.

 

 

둘째로. 개발자가 해야 할 일로 강제로 디폴드를 맞춰주는 경우다. 대쉬보드 로그인 - 외모 - 편집기 -header.php 파일 <HEAD></HEAD> 이 태그 사이에

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />

넣어주면 문서모드를 고정으로 표준으로 만들어 준다고 한다.

워드프레스가 디자인이나...이쁘고 표준적인 개발법을 지향하고 있어 괜찬긴 한데.......한국 사용자 입장에서는 글쎄......란 생각이 들었다.

 

'script' 카테고리의 다른 글

highcharts(하이차트) Demo  (0) 2014.10.17
oncontextmenu, ondragstart, onselectstart  (0) 2014.09.25
[script] web.xml Globle Error 설정  (0) 2014.01.20
[JavaScript]Struts Jsp Refresh  (0) 2014.01.20
[jQuery]웹브라우저 확인  (0) 2012.12.05
블로그 이미지

겐타쓰

,