본문 바로가기

oracle

(7)
[Oracle]ORA-01861: literal does not match format string ORA-01861: 리터럴이 형식 문자열과 일치하지 않음 ORA-01861: literal does not match format string TO_DATE와 TO_CHAR 함수사용시 날짜형식을 지정하지 않았을 때 기본값으로 지정되는 형식이 달라서 그렇다. 운영DB와 개발DB NLS_DATE_FORMAT 설정값이 달라서 에러가 발생했던거 같은데, DB설정은 어떻게 바꾸는지는 모르겠고 쿼리 작성시에 포멧을 적어주도록 조치했다. (DBA 한테 요청..ㅎ) SQL Developer 나 DB tool을 사용하여 쿼리를 호출할땐 정상적으로 출력되서 미쳐버리게 된다.... * 오류 발생할 수 있는 예시 SELECT TO_DATE('2023-11-30', 'MM/DD/YYYY') FROM DUAL; DATE 타입의 ..
Oracle 행열 변환(DECODE 사용) 보통 집계를 낼때 행을 열로 표시하여 자료를 제공해 줘야되는 경우가 있다. 예제) 가맹점별 판매수량을 월별로 집계내기 가맹점별 판매수량을 월별합계를 구하기 위해 DECODE 함수를 사용했다. 가맹점 번호로 그룹을 묶고, DECODE함수로 판매월이 일치하면 판매건수를 SUM하는 쿼리를 만들었다.
Oracle 주말 공휴일 제외 평일 구하기(WORKING DAY) WORKING DAY를 구하기 (공휴일, 주말 제외 근무일수) SELECT COUNT(1) WORKING_DAYS --* FROM ( SELECT TO_CHAR(start_dt + level - 1,'YYYYMMDD') dates, TO_CHAR(start_dt + level - 1,'D') d FROM ( SELECT TO_DATE('20200901','YYYYMMDD') AS start_dt, --시작일자 TO_DATE('20201010','YYYYMMDD') AS end_dt --종료일자 FROM dual ) CONNECT BY level
Oracle SCOTT 계정 활성화 하기 SQL Plus는 사용자, 관리자 및 프로그래머가 일반적으로 사용하는 기본 명령 줄 인터페이스가있는 가장 기본적인 Oracle Database 유틸리티입니다. ORACLE 실습용 계정인 SCOTT 계정 활성화에 대한 포스팅을 하겠습니다. SQLPLUS 실행 > cmd - sqlplus SYS 권한 접속 > /as sysdba SCOTT 계정 접속 SQL> conn SCOTT/TIGER Warning: You are no longer connected to ORACLE. 기존 sys 계정으로 연결되어 있었으나 유효하지 않은 연결 시도로 인해 기존 연결까지 해제되는 상황. 다시 SYS 권한으로 접속 SQL> conn sys SCOTT 계정 잠금해제 및 TIGER 비밀번호 설정 SQL> alter user s..
CTAS 쿼리 테이블 복사 CTAS 란 : CREATE TABLE AS SELECT(CTAS) SELECT 문의 결과로부터 새 테이블을 생성한다. 1. 데이터까지 복사할때 CREATE TABLE 테이블명 AS SELECT * FROM 복사할 테이블명; (조건 필요시 : WHERE ~~~) 2. 테이터 복사 X 테이블 구조만 복사할때 CREATE TABLE 테이블명 AS SELECT * FROM 복사할 테이블명 WHERE 1=2; 생성 결과 -> DEPT_20201010 테이블이 생성되었다. 제약조건을 확인해보자. 원본테이블과 복사한 테이블 제약조건 비교 DEPT 테이블은 PK, NOT NULL 제약조건이 걸려있다. 복사한 DEPT_20201010 테이블은 NOT NULL 제약조건만 복사되었다. 제약조건은 NOT NULL 만 복사된..
Mybatis oracle foreach 다중 insert mybatis에서 오라클로 여러건을 insert 할 경우에 문법이 조금 다르다. INTO 테이블명( COLUMN1, COLUMN2, COLUMN3 )VALUES( #{item.column1} ,#{item.column2} ,#{item.column3} )
[SQL] ORACLE, MYSQL, MSSQL 숫자 세자리 콤마 표시 숫자 세자리마다 콤마 표시 방법 oracle SELECT TO_CHAR(컬럼명, 'FM999,999,999,999') FROM 테이블 mysql SELECT FORMAT(컬럼명, 0) FROM 테이블 MSSQL SELECT replace(convert(varchar,convert(money,컬럼명),1),'.00','') FROM 테이블