Program/DataBase
[Oracle] 데이터 존재여부를 확인하는 EXISTS / NOT EXISTS 데이터 유무 에 따라 특정액션을 취하는 경우가 필요합니다EXISTS 와 IN 정도로 구분이 가능한데 이번에는 EXISTS 를 사용 하는 방법을 공유 하고자합니다. EXISTS문 사용법123456789101112131415SELECT 컬럼FROM 테이블WHERE EXISTS (서브쿼리); SELECT 컬럼FROM 테이블WHERE EXISTS (서브쿼리); cs EXISTS은 논리연산자 중의 하나로써 조건절로 서브쿼리 형태로만 올 수 있습니다. EXISTS 예제1 :N 구조의를 가진 두개의 테이블이 있다는 가정하에 A 테이블 B테이블 에있는 데이터 유무를 판단해보고자 합니다 TABLEB 에 데이터가 있는 TABLEA 데이터 출력1..
[Oracle] 오라클 테이블 컬럼 추가/수정/삭제/컬럼명 변경 하는법 1. 테이블 컬럼 추가하기(ALTER TABLE ADD) ALTER TABLE 테이블명 ADD(컬럼명 타입(SIZE)); ex) ALTER TABLE TEST ADD(COL_NAME VARCAHR2(30); 2. 테이블 컬럼 수정하기(ALTER TABLE MODIFY) ALTER TABLE 테이블명 MODIFY(컬럼명 타입(SIZE)); ex) ALTER TABLE TEST MODIFY(COL_NAME VARCAHR2(5)); 3. 테이블 컬럼 삭제하기(ALTER TABLE DROP) ALTER TABLE 테이블명 DROP COLUMN 컬럼명; ex) ALTER TABLE TEST DROP COLUMN COL_NAME ; 4. 테이블..
[Oracle] 오라클 사용자 생성 및 권한주기 오라클의 테이블스페이스에 대해서 잘 정리된 내용이 있어서 내용 공유합니다.. 출처 : http://www.zetswing.com/bbs/board.php?bo_table=ORACLE_TIP&wr_id=22출처 : https://relis.tistory.com/40 ===================================================================================== 테이블스페이스(TableSpace) 정의 테이블이 저장되는 공간입니다.오라클 에서는 테이블스페이스라고 해서 테이블이 저장될 공간을 먼저 만들고 나서테이블을 생성합니다. 각각의 테이블을 테이블스페이스별로 나누어서 관리와 퍼포먼스의향상을 가지고 오는..
[Oracle] ORA-01850: hour must be between 0 and 23 간단한 오류지만 생각보다 쉬이 발생하는 오류 ORA-01850: hour must be between 0 and 23 의 에러원인은 ORA-01850: 시간은 0에서 23 사이어야 합니다. 이다. EX) 123 select to_date('2019-11-20 24:12:34', 'YYYY-MM-DD HH24:MI:SS')from dual Colored by Color Scriptercs 위의 내용과 같이 진행할때 주로 발생하는데 이경우 시간이 24시간이 넘었기때문이다 Result ) 12 select to_date('2012-12-03 0:12:34', 'YYYY-MM-DD HH24:MI:SS')from dualse..
[Oracle] ORA-01861: literal does not match format string ORA-01861: literal does not match format string 의 에러 원인은varchar2 형식인 값을 date 형식과 비교하려 할때 문제가 발생함 EX) A의 컬럼에 20191127051213 이라는 varchar2 형식의 데이터가 들어있는 데이터를select * from Tablewhere A between to_date(start_dt, 'YYYYMMDD') and to_date(end_dt, 'YYYYMMDD') 이런식으로 검색할때 발생함 Result )문자형 데이터를 사용할때에는 따로 date 형식을 주지않고select * from Tablewhere A between ..
[iBatis/myBatis] #와 $의 차이점 1. #는 쿼리가 수행될 때, 다음과 같이 된다 123456789SELECT * FROM USER WHERE col = ? parameter : [값] cs ?에 bind된 값이 들어가게 된다. 이 쿼리의 컴파일 된 내용을 재사용 할 수 있고, 파라미터에 따라 대입해주므로 효율적이다.내부적으로 preparedStatement 객체에서 ? 에 들어갈 파라미터의 값을 set 해줌으로써 사용이 된다. * preparedStatement는 한번 수행한 쿼리를 캐싱하는 객체 사용 용도 >> #일 경우, 값에 사용한다. myBatis : 컬럼명 = #{값} iBatis : 컬럼명 = #값# * 쿼리에 작은 따옴표가 붙게 된다. 2. $는 쿼리가 수행될 때, 다음과 같..
[Sql] 정규표현식_특수문자 치환 사실 sql 뿐만아니라 다른곳에서 쓸수있지만 Ibatis 환경에서 정규식을 쓸때 cdata 를 선언해주지않아 오류가나서 잊지않을려고 남겨두는자료! ▼HTML 특수 문자표 표현문자숫자표현문자표현설명-�--사용하지 않음space -수평탭space -줄 삽입---사용하지 않음space -여백!!-느낌표"""따옴표##-숫자기호$$-달러%%-백분율 기호&&&Ampersand''-작은 따옴표((-왼쪽 괄호))-오른쪽 괄호**-아스트릭++-더하기 기호,,-쉼표---Hyphen..-마침표//-Solidus (slash)0 - 90-9-0부터 9까지::-콜론;;-세미콜론>>보다 큰??-물음표@@-Commercial atA - ZA-Z-A부터 Z..
[PostgreSQL] 설치오류_The database cluster initialization failed PostgreSql 설치시에 오류가 발생할 경우가있다. 주로 exe파일에서 많이 발생하는 경우인데 이를 해결하는 방안 2가지를 소개하고자한다. 필자의경우는 첫번째로 해결하였다. **window cmd 환경시 관리자로 실행해주셔야합니다. ▼첫번째 PostgreSQL 제거사용자가 존재할 시 제거net user postgres /deletepostgres 사용자를 작성(*pw 기억)net user /add postgres postgres 사용자를 관리자 그룹에 추가net localgroup administrators postgres /addpostgres 사용자를 Power Users 그룹에 추가net..
[Mysql] MAKEDATE, MAKETIME 연도 / 시간 계산 mysql 사용시 해당 데이터를 해당 연도에서 어느정도 시간이 지나갔는데 혹은 각 데이터를 00:00:00 과 같이 시분초로 만들어여 하는 상황이 발생 할수있다 그때 사용하는 함수이며 이전 DATE_ADD/DATE_SUB 과도 연계하여 쓴 쿼리를 예제로 들어볼까함 MAKEDATE(연도, 정수) - 연도에서 정수만큼 지난 날짜를 구함MAKETIME(시, 분, 초) - 시분초를 이용해서 '시:분:초'의 TIME 형식 만듬 ▼ MAKEDATE & MAKE TIME 예제와 MAKEDATE && DATE_SUB 를 이용한 쿼리 EX) 12345678910111213141516171819202122 -- EX ) 현재시간 2019-06-27 12:..