trunc()
은의 시간 부분을 설정할 수 있습니다.(또는 TIMESTAMP
) 00:00:00
에, 다음에 10 시간 추가 :
Update Appointment
set vdate = trunc(vdate) + interval '10' hour
where trunc(vdate) = DATE '2016-02-10'
이 날짜
2016-02-10
이
모든 행을 변경합니다. 당신은 09:00입니다 그 사람들을 위해 그렇게하려면 (분, 초를 무시) 그럼 그냥
Update Appointment
set vdate = trunc(vdate) + interval '1' hour
where trunc(vdate, 'hh24') = timestamp '2016-02-10 09:00:00'
trunc(vdate, 'hh24')
이 00:00
에 date
값의 분, 초를 설정합니다 해당 행에 한 시간 추가 따라서 2016-02-10 09:00:00
과의 비교가 제대로 작동합니다.
관련없는,하지만 : 은는 암시 적 데이터 형식 변환에 의존하지 않습니다. '10-Feb-2016'
은 DATE 리터럴이 아닌 문자열 값입니다. 날짜를 지정하려면 ANSI DATE 리터럴을 사용하거나 to_date()
함수 을과 함께 사용하여 문자열 리터럴을 적절한 날짜 값으로 변환합니다.
귀하의 문은 악을 암시 적 데이터 형식 변환 될 수 있으며 문을 실행하는 SQL 클라이언트 설정 다른 NLS를 사용하는 경우 (이 예를 들어 내 컴퓨터에 실패합니다) 실패
'vdate'의 유형을 알 수 있습니까? – Bharat
유형은 날짜입니다. – Auxion
만약'Date' 만 거기서 시간을 업데이트 할 수 없으면'datetime'을 사용해야합니다. – Bharat