1
2
3
4
5
6
7
8
9
SELECT
    SYSDATE + 1, -- 현재시간 + 1일
    SYSDATE + 1/24, -- 현재시간 + 1시간
    SYSDATE + 1/24/60,  -- 현재시간 + 1분
    SYSDATE + 1/24/60/60,  -- 현재시간 + 1초
    (SYSDATE - (SYSDATE -1)) *24, -- 오늘날짜 - 어제날짜 경과한 시간 시간단위 환산
    (SYSDATE - (SYSDATE -1)) *24*60, -- 오늘날짜 - 어제날짜 경과한 시간 분단위 환산
    (SYSDATE - (SYSDATE -1)) *24*60*60 -- 오늘날짜 - 어제날짜 경과한 시간 초단위 환산
FROM DUAL
cs


'SQL' 카테고리의 다른 글

오라클 WITH  (0) 2018.07.11
oracle date YYYY-MM-DD 변환  (0) 2017.05.11
유효성 검사 쿼리  (0) 2017.03.29
mysql 날짜 차이구하기  (0) 2017.02.26
프로시저  (0) 2017.02.26

WITH 문은 오라클에서 서브쿼리에 alias를 붙여 테이블처럼 사용해주는 구문이다.

같은 서브쿼리를 여러번 사용하게 될 때 유용하게 사용 할 수 있다.


1
2
3
4
5
6
7
8
9
WITH TEMP_TABLE AS(
    SELECT
        'A' AS A
        , 'B 'AS B
    FROM DUAL
)
SELECT
    *
FROM TEMP_TABLE
cs


서브쿼리에 TEMP_TABLE 이라는 alias를 주고 SELECT 문에서 테이블처럼 사용 할 수있다.

쿼리 중간에 들어가면 혼란을 줄 수 있으므로 선언문처럼 쿼리문 상단에서 사용하는편이 좋다.

'SQL' 카테고리의 다른 글

오라클 시간환산  (0) 2018.07.11
oracle date YYYY-MM-DD 변환  (0) 2017.05.11
유효성 검사 쿼리  (0) 2017.03.29
mysql 날짜 차이구하기  (0) 2017.02.26
프로시저  (0) 2017.02.26
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        SELECT
            PRO_ID as id,
            PRO_NAME as name,
            TO_CHAR(PRO_START_DATE, 'YYYY-MM-DD HH24:MI:SS') as startDate,
            TO_CHAR(PRO_CLOSE_DATE, 'YYYY-MM-DD HH24:MI:SS') as closeDate,
            PRO_PROGRESS as progress    
        FROM
            PJ_PROJECT 
        WHERE
            PRO_ID = #{id}
 
            //밀리세컨드 YYYY-MM-DD 변환 함수
            TO_CHAR(PRO_START_DATE, 'YYYY-MM-DD HH24:MI:SS') as startDate,
            TO_CHAR(PRO_CLOSE_DATE, 'YYYY-MM-DD HH24:MI:SS') as closeDate,
cs

'SQL' 카테고리의 다른 글

오라클 시간환산  (0) 2018.07.11
오라클 WITH  (0) 2018.07.11
유효성 검사 쿼리  (0) 2017.03.29
mysql 날짜 차이구하기  (0) 2017.02.26
프로시저  (0) 2017.02.26
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!-- mysql 접속 datasource 풀생성 -->
    <bean id="dataSource-hrdmarket" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver" />
        <property name="url" value="" />
        <!-- <property name="url" value="" /> -->
        <property name="username" value="" /> 
        <property name="password" value="" /> 
        <!-- validationQuery:유효 검사용 쿼리 --> 
        <property name="validationQuery" value="select 1"/>
        <!-- testWhileIdle:컨넥션이 놀고 있을때 -_-; validationQuery 를 이용해서 유효성 검사를 할지 여부. -->
        <property name="testWhileIdle" value="true"/>
        <!-- timeBetweenEvictionRunsMillis:해당 밀리초마다 validationQuery 를 이용하여 유효성 검사 진행 -->
        <property name="timeBetweenEvictionRunsMillis" value="7200000"/>
    </bean>
 
cs


'SQL' 카테고리의 다른 글

오라클 WITH  (0) 2018.07.11
oracle date YYYY-MM-DD 변환  (0) 2017.05.11
mysql 날짜 차이구하기  (0) 2017.02.26
프로시저  (0) 2017.02.26
MySql 테이블 명세서 쿼리  (0) 2017.02.26

YYYY-MM-DD 형식


1
2
3
4
5
6
SELECT 
TO_DAYS('2017-01-31'
- 
TO_DAYS('2017-01-25')
AS result;
 
cs


1
2
3
4
5
6
SELECT 
TO_DAYS('2017-01-31'
- 
TO_DAYS('2017-01-25')
AS result;
 
cs



서브쿼리 사용도 가능

1
2
3
4
5
6
SELECT 
TO_DAYS((SELECT rental.RETURNDAY from rental WHERE rental.RENTALCODE=1000000)) 
- 
TO_DAYS((SELECT rental.RETURNEXPECTDAY from rental WHERE rental.RENTALCODE=1000000))
AS result;
 
cs


'SQL' 카테고리의 다른 글

oracle date YYYY-MM-DD 변환  (0) 2017.05.11
유효성 검사 쿼리  (0) 2017.03.29
프로시저  (0) 2017.02.26
MySql 테이블 명세서 쿼리  (0) 2017.02.26
[mybatis]like문  (0) 2017.02.26

프로시저

프로시저는 여러개의 쿼리문을 묶어서 함수처럼 실행할수 있게 하는것이다.

db서버측에 저장된다.

매개변수로 bookcodeid를 받아 3가지 작업을 처리하는 프로시져


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//생성
DELIMITER //
CREATE PROCEDURE rent(inputbookcode int(30), inputid varchar(30)) 
BEGIN 
INSERT INTO rental (bookcode,memberid,rentalstartday,RETURNEXPECTDAY) 
VALUES(inputbookcode,inputid,now(),'2017-01-31'); 
UPDATE member  SET member.RENTALCOUNT=1 WHERE MEMBERID='mid001'
UPDATE books  set CURRENTSTATUS='대여불가능' WHERE BOOKCODE=800000;
END// 
DELIMITER ; 
 
//호출
call rent(800000,'mid001'); 
//프로시져 조회
SHOW CREATE PROCEDURE rent_back;
 
 
cs


'SQL' 카테고리의 다른 글

유효성 검사 쿼리  (0) 2017.03.29
mysql 날짜 차이구하기  (0) 2017.02.26
MySql 테이블 명세서 쿼리  (0) 2017.02.26
[mybatis]like문  (0) 2017.02.26
[mybatis]getgeneratedkeys  (0) 2017.02.26

SELECT 

ORDINAL_POSITION '필드순번', 

COLUMN_NAME '필드명', 

DATA_TYPE '데이터 TYPE', 

COLUMN_TYPE '데이터 LENGTH', 

COLUMN_KEY 'KEY', 

IS_NULLABLE 'NULL값여부', 

EXTRA '자동여부', 

COLUMN_DEFAULT '디폴트값', 

COLUMN_COMMENT '필드설명' 

FROM INFORMATION_SCHEMA.COLUMNS 

WHERE 

TABLE_SCHEMA = '사용자가 작성한 데이터베이스이름' 

AND 

TABLE_NAME = '사용자가 작성한 테이블이름' 

ORDER BY TABLE_NAME, ORDINAL_POSITION 

'SQL' 카테고리의 다른 글

유효성 검사 쿼리  (0) 2017.03.29
mysql 날짜 차이구하기  (0) 2017.02.26
프로시저  (0) 2017.02.26
[mybatis]like문  (0) 2017.02.26
[mybatis]getgeneratedkeys  (0) 2017.02.26
1
2
3
4
5
6
7
8
SELECT
    * 
from 
    Books
WHERE 
    books.${searchOption} 
LIKE
    '%${searchValue}%';
cs



#{} 대신 ${} 을 사용한다.

'SQL' 카테고리의 다른 글

유효성 검사 쿼리  (0) 2017.03.29
mysql 날짜 차이구하기  (0) 2017.02.26
프로시저  (0) 2017.02.26
MySql 테이블 명세서 쿼리  (0) 2017.02.26
[mybatis]getgeneratedkeys  (0) 2017.02.26

+ Recent posts