날짜 (테이블에 저장 됨)는 7 bytes으로 표시되며 관련 형식이 없습니다. 문자열로 포맷 된 경우 데이터베이스에 액세스하는 데 사용하는 클라이언트 프로그램이 날짜에 자체 형식을 적용합니다 (일반적으로 해당 프로그램의 환경 설정을 통해 설정할 수 있음).
"날짜"가 형식으로 저장되어 있으면 날짜로 저장하지 않고 문자열 (예 : VARCHAR2
) 형식으로 저장합니다.
DATETOSTRING
은 오라클 기능이 아닙니다. TO_CHAR(datevalue, format_model, nlsparams)
은 오라클 기능입니다.
mm/dd/yyyy hh24 : mi : ss 형식으로 한 테이블에서 날짜를 검색했습니다. 이제 나는 dd-mon-rr 형식으로 다른 테이블에 저장하려고합니다. 당신이 다음 DATE
를 검색 할 경우
아니, 당신은 데이터베이스에서 7 바이트 있어요 - 사용자 인터페이스 (즉, SQL/플러스, SQL 개발자, 자바, 등)이 암시 적 변환을 수행 사용하는 사람들을 만들려면 사용자가 표시 할 때 이해할 수있는 7 바이트.
SQL/플러스 및 SQL 개발자는이 암시 적 변환을 수행 할 수 TO_CHAR
함수의 기본 형식 모델로 NLS_DATE_FORMAT
, NLS_DATE_LANGUAGE
및 NLS_TERRITORY
세션 매개 변수와 NLS 매개 변수를 사용합니다 -하지만 이러한 사용자 별 설정하고 의존해서는 안 (특히 국제 환경에서) 여러 사용자간에 일관성을 유지해야합니다.
당신은 DATE
을 저장할 그것은 NO 형식이있는 경우 - 당신이 다음 다음 원하는 형식 모델 TO_CHAR
를 사용하여 문자열로 DATE
에서 변환해야합니다 특정 형식으로 표시하려는 경우 .
그래서, 당신은 간단하게 사용할 수 있습니다
다른 하나 개의 테이블에서 날짜를 복사하려면 :
SELECT TO_CHAR(r_date, 'dd-mon-rr') AS r_date
FROM efg
출처
2017-09-29 08:18:32
MT0
은 https :/
가 원하는 형식으로 날짜를 얻으려면 /stackoverflow.com/questions/7606745/how-to-change-the-date-format-from-mm-dd-yyyy-to-yyyy-mm-dd-in-pl-sql – fab
'ORA-00904 : "DATETOSTRING ": 유효하지 않은 식별자 ' – MT0
dat e는 날짜이므로 날짜로 저장하십시오. 날짜는 내부적으로 숫자 형식으로 처리됩니다. 그렇게하면 쉽게 계산할 수 있고, 비교하고, 정렬하고, 정렬 할 수 있습니다. 형식을 지정할 때, 대부분의 해당 기능이없는 고정 문자열이며 더 많은 공간이 필요합니다. 그래서 포맷 된 날짜를 저장하지 마십시오. 형식은 표시 전용입니다. – GolezTrol