프로그래밍 노트

Oracle SQL 메모

환상무빙 2009. 10. 19. 18:58
다른 column의 값으로 update하기
news라는 테이블에 reg_dt, modi_dt, cp_news_dt라는 column이 있다.
여기서 reg_dt와 modi_dt의 값을 cp_news_dt의 값으로 update를 하고 싶다.

update news
set reg_dt = cp_news_dt, modi_dt = cp_news_dt
where news_id in (
  select news_id
  from news
  where news_id between 20091001000000000 and 20091005000000000 );

select된 result를 group으로 카운팅 하기
news_id는 20090914000000000 와 같은 형식이다. 앞자리 8개를 통해 news의 등록 날짜를 알 수 있다. 날짜별로 news의 갯수를 알고 싶을 때는

select substr(reg_dt,0,8) reg_date, count(news_id)
from news
where news_id between 20090914000000000 and 20090919240000000
group by substr(reg_dt,0,8)
order by reg_date;

에휴...sql이 난 왜케 어렵니 -.-