IT/SQL 32

oracle line in 다중검색

오라클 LIKE IN 다중 조건 검색 SOME_TABLE이라는 테이블의 TEXTS라는 컬럼에 S와 T로 시작하는 조건의 ROW를 출력하고 싶은데 어떻게 해야할까 오라클에서 아래 쿼리 같이 LIKE IN이 먹히지 않는다. 예시쿼리 (사용 불가능) SELECT * FROM SOME_TABLE WHERE TEXTS LIKE IN ('S%', 'T%') 해결 방법 정규식 (REGEXP_LIKE)로 검색 오라클 10g 버전 이상부터 사용 가능함. 원형 : REGEXP_LIKE(STRING, PATTERN) | (파이프)문자로 구분자를 지어준다. SELECT * FROM SOME_TABLE WHERE REGEXP_LIKE(TEXTS, 'S|T') 정규식을 사용한다. SELECT * FROM SOME_TABLE WH..

IT/SQL 2019.08.06

[토드] Toad로 엑셀 데이타를 테이블에 import 하여 저장하기

Toad에서 엑셀 데이타를 Table에 저장해 보겠습니다. 아래 그림을 쭉~ 따라하세요. 엑셀데이타를 저장할 테이블을 선택하세요. [Show Data]를 먼저 눌러주시고 다음으로 진행하세요. 데이타가 들어있는 엑셀 파일을 선택하세요. [Excel file]을 먼저 선택해야겠죠? 저는 우편번호 엑셀파일을 선택해 보겠습니다. 몇째 줄부터 저장할 것인지를 입력해 주셔야 합니다. 저는 위 2줄의 헤더 부분은 제외하고 3번째 줄부터 저장하도록 하겠습니다. 혹시 엑셀컬럼과 테이블의 컬럼이 일치하지 않는다면 여기서 변경해 주시면 됩니다. [Execute]을 누르시면 저장이 시작됩니다. 완료되었습니다. 잘 저장됬네요^^ 이상입니다.

IT/SQL 2019.05.27

Sybase 와 Oracle 차이

오라클과 비교했을 때 Sybase의 차이점은 다음과 같다. 1. null값 허용 안함 2. table 앞에 dba. 붙여야함. 3. table명과 컬럼명은 대문자로 4. ';' 문법 에러남. 1. DUMMY TABLE [오라클] from dual [Sybase] SELECT now() FROM sys.dummy; SELECT now(); (from절 생략) 2. OUTER JOIN [오라클] SELECT a.부서명, b.이름 FROM 부서테이블 a, 사원테이블 b WHERE a.부서코드 = b.부서코드(+); [Sybase] SELECT a.부서명, b.이름 FROM 부서테이블 a, 사원테이블 b WHERE a.부서코드 *= b.부서코드 3. 테이블 구조보기 [오라클] desc 테이블명; [Sybase]..

IT/SQL 2019.05.27

sql 날짜 중복되지않게 변경하기!

sql 날짜 중복되지않게 변경하기! 저번에 업무를 하면서 날짜구간이 겹치지않게 시작날짜와 종료날짜를 변경해야하는 일이 있었어요 이게 은근..쉬울거 같으면서도 어렵더라구요 혹시 저와 같은 난관에 빠지신분들을 위해 뒤늦게 작성한 쿼리 올려볼께요^^ with t1 as( select 'a' usr,'2011-09-01' sdt, '2011-09-10' edt, '2011-09-11' sdt1 , '2011-09-28' edt1, '2011-09-26' sdt2, '2011-10-02' edt2, '2011-10-04' sdt3, '2011-10-12' edt3 FROM dual ) ,t as ( /*select * from t1 unpivot ((sdt,edt) for dat in ((sdt,edt) as 1..

IT/SQL 2018.08.29

oracle 중복날짜 제거 및 중복기간 나눠주는 쿼리

oracle 중복기간 나눠주는 쿼리 중복날짜 제거with t1 as( 'a' usr,'2011-09-01' sdt, '2011-09-10' edt ,'2011-09-11' sdt1 , '2011-09-28' edt1 ... FROM dual ),t as (select * from t1unpivot((sdt,edt) for dat in ((sdt,edt) as 1, (std1, edt1) as 2, (sdt2,edt2) as 3)) SELECT usr , MIN(sdt) sdt , MAX(edt) edt FROM ( SELECT usr, sdt, edt , SUM(flag) OVER(PARTITION BY usr ORDER BY sdt, edt) grp FROM ( SELECT usr, sdt, edt ,..

IT/SQL 2018.08.28

[오라클] ORA-22992: 원격 테이블로 부터 선택된 LOB 위치를 사용할 수 없습니다.

CLOB 타입으로 컬럼이 생성되어 있는 테이블은 DB LINK를 이용해서 조회할 경우 제목과 같이 ORA-22992: 원격 테이블로 부터 선택된 LOB 위치를 사용할 수 없습니다. 라는 오류가 발생한다. 즉, select * from LO_GR_BEF_INFO_M@hodb_hdbown; Error at line 0 ORA-22992: 원격 테이블로 부터 선택된 LOB 위치를 사용할 수 없습니다 그런데 SELECT는 오류가 발생하지만, INSERT SELECT로 처리할 경우 오류가 없이 정상적으로 저장이 된다. insert /*+ append nologging */ into LO_GR_BEF_INFO_M select * from LO_GR_BEF_INFO_M@hodb_hdbown; ---> INSERT 성..

IT/SQL 2017.07.22

[SAS] proc rank

▶ proc rank proc rank문은 변수값에 대해 순위를 매기는 명령문이다. 동일값이 있는 경우 옵션에 따라 여러가지 값으로 표현된다. proc rank 옵션; var variables; ranks names; by variables; 옵션out= rank를 적용한 output을 저장할 데이터셋 명ties=mean : 같은 순위의 관측치에 대해서는 순위의 평균값을 지정(1순위 2명 -> 1.5순위 2명) ties=high : 같은 순위의 관측치에 대해서는 순위의 최대값을 지정(1순위 2명 -> 2순위 2명) ties=low : 같은 순위의 관측치에 대해서는 순위의 최소값을 지정(1순위 2명 -> 1순위 2명) descending : 크기가 큰것부터 작은 것으로 순위를 매겨 나간다. 다음과 같은 데..

IT/SQL 2017.03.23

[SAS] proc freq

▶ proc freq proc freq 결과의 내용은 간단하지만 데이터의 파악을 위해서 매우 자주 이용되는 명령문이다. 데이터의 수가 많은 경우 분포와 이상값등을 직관적으로 판단하기에 유용하다. 예제를 보면 개체가 많지 않기 때문에 x변수에 1이 3개, 2가 3개 인것을 볼 수 있다. 하지만 데이터가 큰 경우 하나하나 카운트 할 수 없기 때문에 proc freq를 이용한다. data a1; input x y @@; cards; 1 2 1 4 1 5 2 2 2 3 2 2 ; run; proc freq data=a1 ; 데이터셋명 tables y; 확인해보고 싶은 변수명 run; 기본적으로 하나의 변수 값(y 변수 값)에 대한 빈도를 보고 싶은 경우는 다음과 같이 명령어를 사용하며 결과창에 아래와 같은 결과..

IT/SQL 2017.03.23
반응형