programing

Oracle에서 시간이 없는 날짜 유형

stoneblock 2023. 7. 3. 22:30

Oracle에서 시간이 없는 날짜 유형

Oracle 10g에서 사용할 때 문제가 발생했습니다.DATE내 테이블에 타자를 치세요.나는 단지 나의 것을 원합니다.DATE필드 저장소만DATE시간 없이 자동으로.

많은 솔루션이 있습니다. 사용하는 것처럼 알고 있습니다.TO_CHAR그리고.TO_DATE또는TRUNC하지만 데이터를 삽입하거나 업데이트하는 데 너무 많은 절차를 사용하고 있기 때문에 모든 데이터를 업데이트할 시간이 없습니다.

이 문제를 어떻게 해결할 수 있습니까?

가장 좋은 해결책은 다음과 같습니다.

  1. DATE 열에서 모든 시간 제거(update yourtable set yourdatecolumn = trunc(yourdatecolumn))

  2. 다음을 사용하여 열에 체크 제약 조건을 지정하여 이후의 모든 날짜에 시간 부분이 포함되지 않도록 합니다.check (yourdatecolumn = trunc(yourdatecolumn))

  3. 모든 INSERT 및 UPDATE 문을 조정하거나(운이 좋다면) 잘라낸 날짜만 삽입하도록 API를 조정합니다.

가장 쉬운 해결책은 다음과 같습니다.

  1. (선택사항) DATE 열에서 모든 시간을 제거합니다.

  2. 행 삽입 전 만들기 또는 설정하는 데이터베이스 트리거 업데이트:new.yourdatecolumn := trunc(:new.yourdatecolumn);

저는 이렇게 사용합니다.

삽입:Insert into table (name_date) values(to_date(current_date,'dd/mm/yyyy'));업데이트:update table set name_date=to_date(current_date,'dd/mm/yyyy') where id=1;

그게 다야...

언급URL : https://stackoverflow.com/questions/10429276/date-type-without-time-in-oracle