2012-12-19 2 views
2

나는, 오라클 DB에서이 표를 가지고 100 + 열 구성 : 나는 CREATEDON이 형식의로 모두 선택하고 싶었"select *"를 사용할 때 열을 포맷 할 수 있습니까?

ID number PK, CREATEDON date, C0 varchar2, C1 varchar2, ... ,c100 varchar2 
0, 2012-12-19 05:18:21, 0, 1, ... ,100 

, 그래서 나는이 쿼리 작성 :

select *, to_char(CREATEDON, 'YYYY-MM-DD') from SOME_TABLE; 

을하지만 그것은 던졌다 오류 : ORA-00923: FROM keyword not found where expected. 나는 모든 쿼리에 select ID, to_char(CREATEDON, 'YYYY-MM-DD'), col0, col1,...,col100을 쓰고 싶지 않았기 때문에

, 나는 시도했다 다른 하나 그것은 잘 작동하지만,이 SOME_TABLE 증가 행으로 아래로 천천히 전체 쿼리에 가입해야

select a.*, to_char(b.CREATEDON, 'YYYY-MM-DD') from SOME_TABLE a 
join SOME_TABLE b on (a.ID = B.ID); 

?

그럼 더 좋은 방법이 있을까요?

+1

당신은이'전화 to_char' 별명을, 예를 들어'TO_CHAR (CREATEDON은 'YYYY-MM-DD') SOME_TABLE FROM co_formatted AS ... SQL 클라이언트' – Phil

+0

당신입니다 아마한다 사용 하시겠습니까? SQL * Plus에서는'column' 명령을 사용하여 열 형식을 정의 할 수 있습니다. 다른 SQL 클라이언트의 경우 타임 스탬프/날짜 열 형식 지정 방법을 확인하십시오 (일부는 NLS_xxx 설정을 따름) –

답변

4

오라클 관련 문제입니다. * 운영자 테이블을 지정하십시오 :

select SOME_TABLE.*, to_char(CREATEDON, 'YYYY-MM-DD') from SOME_TABLE; 

이 같은 시도도 this fiddle

1

보기 ...

select a.*, to_char(CREATEDON, 'YYYY-MM-DD') from SOME_TABLE a;

1

은 오라클 특정 문제입니다. 문제는 일반 * 연산자를 사용하면 다른 열을 선택하는 것을 좋아하지 않는다는 것입니다.

그래서 suggesstion

select x.*, to_char(CREATEDON, 'YYYY-MM-DD') from SOME_TABLE x; 
관련 문제