database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 41176 게시물 읽기
No. 41176
안녕하세요. 문자 보내는 테이블 컬럼값에 시간을 넣는 부분에 관해서 문의드려요
작성자
도토리(dododori)
작성일
2016-06-16 14:51
조회수
7,795

안녕하세요

잘 안풀리는게 있어서 여쭤보려고 이렇게 글 남깁니다.

문자발송하는 테이블이 있고 거기에 칼럼에 맞는 데이터가 저장이 되고나면

예약된 시간에 문자 발송이 되는 시스템인데요.

문자발송 테이블에 데이터를 Insert하는 쿼리를 보면

문자 보내는 예약시간 칼럼(SENDDATE) 부분이

TO_DATE(RSV_DATE||'12:00','YYYYMMDDHH24:MI') -7 SENDDATE 

이렇게 되어있습니다.

예약된 날짜 7일전 12시에 문자가 보내지도록 되어있는데, 문제는 이 쿼리가 돌아가는 시점이

7일보다 많이 남은 경우에는 이상없이 7일전에 문자가 보내지는데

7일보다 적게 남은 경우, 예를들면 6일전이나 2~3일전 또는 예약날짜 당일 일 경우에는

-7일이니 현재 시스템시간보다 몇일전 날짜로 들어가게 되는거죠 그러면 문자는 안보내집니다.

그래서 저 쿼리가 돌아가는 시스템시간이 7일보다 적게 남으면 시스템시간 + 30분으로 예약시간이 되도록 하고싶은데

잘안되네요. 20일날 보내고 싶고 현재시간이 16일 오후3시이고 저쿼리가 돌아간다고가정했을때

4일밖에 안남았기 때문에 시스템시간보다 30분 뒤인 16일 오후 3시30분에 예약시간이 들어가게 되는거죠,

그러면 30분뒤에 보내질테니까요.

칼럼부분에 어떻게 해야 될지 아시는분 답변 부탁드릴게요. 감사합니다. 

이 글에 대한 댓글이 총 2건 있습니다.

WITH t AS
(
SELECT '20160630' rsv_date FROM dual
UNION ALL SELECT '20160620' rsv_date FROM dual
)
SELECT rsv_date
     , GREATEST( TO_DATE(rsv_date, 'yyyymmdd') - 6.5
               , sysdate + 30 * 1/24/60
               ) senddate
  FROM t
;

마농(manon94)님이 2016-06-17 09:59에 작성한 댓글입니다.

 마농님 답변 정말 감사합니다. 덕분에 해결되었습니다^^

도토리(dododori)님이 2016-06-17 15:42에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
41179user object type 에서 한글깨짐 문의드립니다.
진랑
2016-06-20
7681
41178테이블 다중 컬럼 join [2]
염진호
2016-06-17
7740
41177Procedure 에서 있으면 UPDATE, 없으면 INSERT 구현 시 [1]
박소연
2016-06-17
8084
41176안녕하세요. 문자 보내는 테이블 컬럼값에 시간을 넣는 부분에 관해서 문의드려요 [2]
도토리
2016-06-16
7795
41175데이터 타입 문제 [1]
도와주세요
2016-06-16
8039
41174부모키가 없다고하고 기본키가 두개일경우
이기쁨
2016-06-14
7535
41173질문이요! [1]
질문
2016-06-14
7381
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.030초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다