CREATE TABLESPACE TS_BTS
DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EFUSIONI\TS_BTS.DBF' SIZE 100M;


CREATE USER BTS IDENTIFIED BY BTS DEFAULT TABLESPACE ts_bts;

GRANT UNLIMITED TABLESPACE to bts;

GRANT CONNECT, RESOURCE, CREATE VIEW, DBA TO bts;


 

글쓴이 : 김홍선



13자리로 주어지는 주민번호를 가지고 나이를 계산해 보자.
물론 가정은 아래와 같은 것들이 되겠다.

- 우리나라 나이 계산방식과 같이 태어나자마자 1살로 계산한다.
- 2000년 미만은 주민번호 7번째자리가 남녀에 따라 1이나 2이고,
2000년 이상은 주민번호 7번째자리가 3이나 4이다.
- 1900년 미만과 내년이상은 고려하지 않는다.


주민번호 13자리가 변수 :jumin 으로 주어진다면,
아래와 같은 공식이 나오겠다.
(implicit type casting 을 크게 고려하지 않았다.)



SELECT TO_CHAR (SYSDATE, 'yyyy')
- 1899
- 100 * (CEIL (SUBSTR (jumin, 7, 1) / 2) - 1)
- SUBSTR (jumin, 1, 2)
age
FROM (SELECT :jumin jumin
FROM DUAL)

 

출처 : http://www.soqool.com/

CREATE TABLE plan_table (
        STATEMENT_ID       VARCHAR2(30),
        plan_id            NUMBER,
        TIMESTAMP          DATE,
        remarks            VARCHAR2(4000),
        operation          VARCHAR2(30),
        options            VARCHAR2(255),
        object_node        VARCHAR2(128),
        object_owner       VARCHAR2(30),
        object_name        VARCHAR2(30),
        object_alias       VARCHAR2(65),
        object_instance    NUMERIC,
        object_type        VARCHAR2(30),
        optimizer          VARCHAR2(255),
        search_columns     NUMBER,
        ID                 NUMERIC,
        parent_id          NUMERIC,
        DEPTH              NUMERIC,
        POSITION           NUMERIC,
        COST               NUMERIC,
        CARDINALITY        NUMERIC,
        BYTES              NUMERIC,
        other_tag          VARCHAR2(255),
        partition_start    VARCHAR2(255),
        partition_stop     VARCHAR2(255),
        partition_id       NUMERIC,
        other              LONG,
        distribution       VARCHAR2(30),
        cpu_cost           NUMERIC,
        io_cost            NUMERIC,
        temp_space         NUMERIC,
        access_predicates  VARCHAR2(4000),
        filter_predicates  VARCHAR2(4000),
        projection         VARCHAR2(4000),
        TIME               NUMERIC,
        qblock_name        VARCHAR2(30)
);

오라클 데이터 베이스를 쓰면서 데이터 타입을 DATE 형식으로 썼을때

SYSDATE가 아닌 전달받은 날짜로 입력시 형식이 맞지 않으면 직면하는 에러이다..

잊어먹지 않기 위해 메모를 남겨둠...

insert into t_date(regist_date) values (to_date(?, 'yyyy-mm-dd hh:mi:ss));

insert into t_date(regist_date) values (to_date(?, 'yyyy-mm-dd hh24:mi:ss));

SQL*Plus 사용시 import 할때

  요넘이 항상 문제이다..

실제로 &n 이라는 문자가 매겨변수를 입력받는 문자이다 보니 매겨변수를 계속 넣으라고 한다면

설정을 이렇게 변경해 보길 바란다..

SQL > set scan off

물런 반대는

SQL > set scan on

이 되겠지? ㅋㅋ

다음 포스팅은 SQL*Plus 의 setting 들을 함 써볼까 한다.

+ Recent posts