현재 작업중인 프로젝트는 Oracle DBMS를 사용하여 데이터를 저장합니다. 개발하는 동안 날짜 정보가 날짜 필드에 저장되지 않지만 VARCHAR2 열에서 이상한 서식이 발견되었습니다. 예를 들어,이 표를 보면 :날짜/시간 데이터를 숫자로 저장
CREATE TABLE "A_TABLE"
(
"OSERC_FEC_INICIO_OS" VARCHAR2(14 BYTE),
"OSERC_FEC_FIN_OS" VARCHAR2(14 BYTE),
"OSERC_FEC_REGISTRO_PETICION" VARCHAR2(14 BYTE),
"OSERC_FEC_APROBACION_PETICION" VARCHAR2(14 BYTE),
"OSERC_FEC_LIQUIDACION_OS" VARCHAR2(14 BYTE),
"OSERC_FEC_EJECUCION_OS" VARCHAR2(14 BYTE),
)
필드 OSERC_FEC_REGISTRO_PETICION, OSERC_FEC_APROBACION_PETICION, OSERC_FEC_LIQUIDACION_OS
및 OSERC_FEC_EJECUCION_OS
저장 정보를 날짜 만 VARCHAR2 컬럼으로 선언됩니다. 데이터를 확인하면 해당 정보를 저장하기 위해 형식이 YYYYMMDDHHMMSS
임을 알 수 있습니다.
WHERE 절에서이 날짜를 사용하는 쿼리를 작성해야하기 때문에 걱정이됩니다. 그 방법으로 인덱스 성능이 무엇인지 확신 할 수 없습니다. 그래서, 제가 언급 한 디자인에 관련된 문제는 무엇입니까? VARCHAR2 대신 NUMBER를 사용하는 것이 더 좋을 것입니다.
아니요 날짜가 아니었다면 더 좋을 것입니다. –
테이블/뷰 등을 만들 때 명시 적으로 열을 인용하지 마십시오. 더 많은 문제가 발생합니다. 인용하지 않으면 모든 것이 대문자로 간주되지만 (아무리 입력해도) 아무 것도 할 필요가 없습니다. 또한 많은 타이핑을 절약 할 수 있습니다. – Ben