Oracle 데이터베이스에서는 문자열의 길이를 계산하는 데 사용되는 여러 가지 함수가 제공됩니다. 이 중 LENGTH 함수는 문자열의 길이를 바이트 수로 계산하고, LENGTHB 함수는 문자열의 길이를 문자 수로 계산합니다. 이 글에서는 Oracle 데이터베이스에서 문자열의 길이를 계산하는 데 사용되는 LENGTH 함수와 LENGTHB 함수에 대해 자세히 알아보겠습니다. 이 함수들을 사용하여 문자열의 길이를 구하는 방법과 함께, 문자열을 처리하고 조작하는 데 사용할 수 있는 다양한 함수들에 대해서도 다룰 것입니다. 문자함수 LENGTH, LENGTHB를 사용하여 문자열 길이 구하는 방법 1. LENGTH 문자열의 길이를 바이트 수로 계산합니다. 즉, 문자열 내의 모든 문자의 바이트 수를 합한 값을 반환합..
VIEW란 ? 일종의 가상 테이블 이며, 임시 저장소 느낌이다. 사용하는 값들을 모아 테이블 형식으로 만들어 준 것이다. SELECT 만 사용 가능하며, UPDATE, DELETE, INSERT는 불가능 하다고 하는데 사실 VIEW는 데이터를 잠시 저장 해두는 느낌이라 조금만 생각해보면 SELECT만 가능하는 것을 알 수 있다. 예시 테이블 CREATE TABLE TESTTABLE( COLUMN1 VARCHAR(10), COLUMN2 VARCHAR(10), COLUMN3 VARCHAR(10) ); 예시 뷰 CREATE OR REPLACE VIEW TESTVIEW AS SELECT COLUMN1, COLUMN2, COLUMN3, FROM TESTTABLE; 예시) 예를 들어 PEOPLE(사람)이라는 TAB..
Oracle RANK 및 DENSE_RANK 함수는 SQL 쿼리에서 데이터를 분석하고, 데이터 집합 내의 각 행의 순위를 계산하는 데 사용됩니다. 이 함수들은 ORDER BY 구문과 함께 OVER 구문을 사용하여 쿼리 내에서 정렬 및 분류를 수행합니다. PARTITION BY 절을 사용하여 데이터를 파티션화하고, 그룹별로 순위를 계산할 수 있습니다. 이 글에서는 Oracle RANK 및 DENSE_RANK 함수의 사용 방법에 대해 자세히 알아보겠습니다. RANK 및 DENSE_RANK 함수를 사용하여 데이터를 정렬하고, 순위를 계산하는 방법과 함께, OVER 및 PARTITION BY 구문의 사용 방법에 대해서도 다룰 것입니다. 1. RANK 함수 데이터 집합 내에서 순위를 계산하고, 동일한 값이 있으면..
특정 컬럼 1씩 증가시키는 쿼리 SELECT TO_NUMBER(NVL(MAX(Column), '0')) + 1 FROM TABLENAME 위와 같은 코드를 작성하게 되면 Column이라는 컬럼에 0 Or 이미 들어가 있는 값+1을 하여 값들을 넣을 수 있다. Ex) Insert TABLENAME into Column1, Column2 values("Column1에 들어갈 값", "NVL(MAX(Column2),'0')+1 )
ORA-00000,0, "성공적인 정상 종료입니다" ORA-00001,0, "유일성 제약조건(%s.%s)에 위배됩니다" ORA-00017,0, "트레이스 이벤트 설정이 세션에 요구되었습니다" ORA-00018,0, "최대 세션 수를 초과했습니다" ORA-00019,0, "최대 세션 라이선스 수를 초과했습니다" ORA-00020,0, "최대 프로세스 수(%s)를 초과했습니다" ORA-00021,0, "세션이 다른 프로세스에 첨부되어 있음; 세션을 변경할 수 없습니다" ORA-00022,0, "부적절한 세션 번호; 액세스가 거절되었습니다" ORA-00023,0, "세션이 프로세스 고유의 메모리를 참조함; 세션을 분리할 수 없습니다" ORA-00024,0, "단일 프로세스 모드에서는 하나 이상의 프로세스가 로..
ORA-02253 : CONSTRAINT SPECIFICATION NOT ALLOWED (제약을 지정할 수 없습니다.) 위와 같이 제약을 지정 할 수 없습니다. 라는 문구가 DB를 만지다 보면 간혹 볼 수 있는 에러 입니다. 원인은 FK참조가 스스로(EMP테이블) 이기 때문입니다. 이렇게 사용을 하려면 테이블을 먼저 생성해 두고, FK를 생성하는 스크립트여야 합니다. 예시로) REFERENCE 앞에 FOREIGN KEY 명령어를 붙이면 에러가 발생하지 않습니다. 인라인 제한 조건을 지정하려면 해당 정의가 열 정의와 구분되어야 합니다. CHECK 제한 조건을 작성하는 경우, 제한 조건의 유형을 지정 해야 하며 외래키 제약조건은 참조하는 열을 지정해 주어야 합니다.
ORA-01861 "literal does not match format string" 오류는 일반적으로 날짜와 관련된 데이터 유형에서 발생합니다. 이 오류는 데이터의 형식이 날짜 포맷 문자열과 일치하지 않을 때 발생합니다. 이 오류가 발생하는 원인과 해결방법은 다음과 같습니다. 원인은? 1. 데이터 값의 형식이 날짜 포맷 문자열과 일치하지 않는 경우 예를 들어, 'YYYY/MM/DD' 형식으로 정의된 DATE 유형의 값에 'YYYY-MM-DD'와 같이 다른 형식의 값을 할당하려고 할 때 발생합니다. 2. 잘못된 형식으로 데이터 값을 입력한 경우 DATE 유형의 값에 대해 잘못된 날짜 형식이 입력된 경우에도 이 오류가 발생합니다. 3. 포맷 문자열에 대한 오류 포맷 문자열에 잘못된 구문이 포함된 경우에도..
WHERE IN SELECT * FROM TABLE_NAME WHERE COLUMN_NAME IN ('가나','기니'); //COLUMN이라는 컴럼에 가나, 기니가 들어간 데이터 들을 검색한다. WHERE AND SELECT * FROM TABLE_NAME WHERE COLUMN_NAME1 = '가나' AND 'COLUMN_NAME2 =' 아프리카'; //COLUMN1이라는 컴럼에 가나 그리고 COLUMN2라는 컬럼에 아프리카 두조건 모두 만족하는 데이터들을 검색한다. WHERE OR SELECT * FROM TABLE_NAME WHERE COLUMN_NAME1 = '가나' OR 'COLUMN_NAME2 =' 아프리카'; //COLUMN1이라는 컴럼에 가나 그리고 COLUMN2라는 컬럼에 아프리카 두조건..
ORA-12154 오류는 "TNS:could not resolve the connect identifier specified" 즉, 지정된 접속 식별자를 분석할 수 없는 경우 발생하는 오류입니다. 이 오류는 데이터베이스와 연결할 때 발생하는 오류로, 대개 TNSNames.ora 파일이 잘못 구성되어 있거나, 호스트 이름이나 포트 번호가 잘못 지정된 경우 발생합니다.해당 오류가 발생하는 원인을 파악하고, 이를 해결하는 방법은 다음과 같습니다. 원인 TNSNames.ora 파일이 잘못 구성되었을 경우 호스트 이름이나 포트 번호가 잘못 지정되었을 경우 TNS 연결 문제가 있는 경우 해결 방법 1. TNSNames.ora 파일이 잘못 구성된 경우 TNSNames.ora 파일을 열어, 호스트 이름, 포트 번호, ..
select 중복제거 방법 (DISTINCT, GROUP BY) 1. DISTINCT를 이용한 방법 CREATE TABLE fruits ( id INT, name VARCHAR2(50) ); INSERT INTO fruits VALUES (1, 'apple'); INSERT INTO fruits VALUES (2, 'banana'); INSERT INTO fruits VALUES (3, 'apple'); INSERT INTO fruits VALUES (4, 'orange'); 위와 같은 테이블이 있을 때 SELECT DISTINCT name FROM fruits; 테이블에서 name 열에서 중복을 제거하여 고유한 값만 선택하려면 다음과 같은 SQL 문을 사용할 수 있습니다. 2. GROUP BY를 이용한..