Oracle에서 시간이 없는 날짜 유형
Oracle 10g에서 사용할 때 문제가 발생했습니다.DATE
내 테이블에 타자를 치세요.나는 단지 나의 것을 원합니다.DATE
필드 저장소만DATE
시간 없이 자동으로.
많은 솔루션이 있습니다. 사용하는 것처럼 알고 있습니다.TO_CHAR
그리고.TO_DATE
또는TRUNC
하지만 데이터를 삽입하거나 업데이트하는 데 너무 많은 절차를 사용하고 있기 때문에 모든 데이터를 업데이트할 시간이 없습니다.
이 문제를 어떻게 해결할 수 있습니까?
가장 좋은 해결책은 다음과 같습니다.
DATE 열에서 모든 시간 제거(
update yourtable set yourdatecolumn = trunc(yourdatecolumn)
)다음을 사용하여 열에 체크 제약 조건을 지정하여 이후의 모든 날짜에 시간 부분이 포함되지 않도록 합니다.
check (yourdatecolumn = trunc(yourdatecolumn))
모든 INSERT 및 UPDATE 문을 조정하거나(운이 좋다면) 잘라낸 날짜만 삽입하도록 API를 조정합니다.
가장 쉬운 해결책은 다음과 같습니다.
(선택사항) DATE 열에서 모든 시간을 제거합니다.
행 삽입 전 만들기 또는 설정하는 데이터베이스 트리거 업데이트
: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
'programing' 카테고리의 다른 글
AUTO_INCREMENT가 Maria에서 작동하지 않습니다.DB (0) | 2023.07.03 |
---|---|
Mongoose: 스키마 필드를 ID로 설정하는 방법은 무엇입니까? (0) | 2023.07.03 |
mongodb 업데이트에서 변수 사용 (0) | 2023.06.28 |
null 가능한 열에 대한 인덱스 (0) | 2023.06.28 |
C#이 있는 MongoDB에서 지정된 필드만 가져옵니다. (0) | 2023.06.28 |