2012-02-14 2 views
1

데이터 유형이 Date time 인 열이 있으므로 다음과 같은 값이 포함되어 있습니다 : 06-FEB-12 02.39.11.000000000 PM. 06-FEB-12에서 25-JAN-12까지의 모든 행의 날짜 만 수정하고 싶었습니다.datetime의 날짜 만 업데이트하십시오 - Oracle

업데이트 쿼리를 통해 동일한 작업을 수행 할 수 있습니까?

답변

5

데이터 유형에 대해 다소 혼란 스럽습니다. 열이 DATE이지만 사용자가 입력 한 샘플 데이터의 길이는 초 단위이며, TIMESTAMP을 의미합니다.

당신 월 25 일 DATE 또는 TIMESTAMP 값을 얻을 것입니다 2012년 2월 6일에 DATE 또는 TIMESTAMP이 모든 행에서 정확히 십이일을 뺄 수

, 2012 년

UPDATE table_name 
    SET column_name = column_name - interval '12' day 
WHERE trunc(column_name) = date '2012-02-06'; 
+0

나는 존재하지 않는 미안 해요 명확한. 예, 열은 Timestamp (6) 형식입니다. 쿼리를 실행하면'누락되었거나 유효하지 않은 30089. 00000 - "가 누락되었거나 유효하지 않습니다." * 원인 : (YEAR, MONTH, DAY, HOUR , 분, 초)을 예상 하지만 찾을 수없는, 또는 <날짜 필드>은 <간격 규정>에 을 지정 .' –

+0

이있어 그 이상 더 중요하다! ''days'가 아니라''day''로 interval 리터럴을 갖도록 쿼리를 변경하십시오. 편집 권한이 없습니다 –

+0

@ darkie15 - 네, 그 오타를 유감스럽게 생각합니다. 해결할 답변을 업데이트했습니다. –

관련 문제