Background Image

FORUM

조회 수 4971 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄


* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.

OS
Linux 64bit
CUBRID Ver.
10.2
CUBRID TOOL Ver.
DBeaver
응용 환경(API)
DBeaver, JDBC


* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.

 

에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
 

큐브리드에서 아래와 같은 테이블을 만들었습니다.

 

create table test (

a int,

b VARCHAR(100) DEFAULT TO_CHAR(CURRENT_DATE) not null,

c VARCHAR(100) DEFAULT 'TO_CHAR(CURRENT_DATE)' not null

);

 

컬럼 b의 디폴트 값은 함수 current_date의 결과를 문자열로 변환한 값입니다.

컬럼 c의 디폴트 값은 함수 실행 결과가 아니라 그냥 문자열입니다. 양 쪽에 따옴표가 있습니다.

 

딕셔너리에서 default 값을 추출합니다.

select attr_name, default_value from db_attribute where class_name='test';

attr_name   default_value

=======    ==========

a    
b    TO_CHAR(CURRENT_DATE)
c    TO_CHAR(CURRENT_DATE)

 

여기서 문제가 발생합니다. b와 c의 default_value가 똑같이 나옵니다.

default_value 값이, 이게 함수 실행 결과인지 그냥 문자열인지 구분이 안갑니다.

JDBC의 DbmsMetaData에서 컬럼  default값이 하도 이상하게 나와서 딕셔너리를 조회했더니,

JDBC것보다는 나은데, 여기도 좀 난감하네요.

 

어떻게 구분할 수 있을까요?

 

실제 insert해 보면 잘 돌아는 값니다.

insert into test(a) values(1);

select * from test;

a     b                      c

==  ========     ====================

1    06/17/2024    TO_CHAR(CURRENT_DATE)

 

 

  • ?
    큐브리드_김주현 2024.06.18 10:38
    큐브리드를 이용해 주셔서 감사합니다.

    작은 따옴표(' ')의 경우 String을 감싸고자 하는 경우 사용이 됩니다.
    작업자의 의도가 'TO_CHAR(CURRENT_DATE)' 것을 함수로 사용하고자 했는지, 문자열로 사용하고자 했는지는 모르겠으나, 이러한 자유도를 높이긴 위한 방법으로 제공하고 있습니다.

    다만 지적하신 부분과 같이 db_attribute 에서 동일한 결과로 인한 혼선 문제는 논의 후 사용자가 인지하기 쉬운 방법을 고민하여 반영해 보도록 하겠습니다.

    동일한 이슈 발생 시, 우화 방법으로 csql> show create table 테이블명, csql> ;sc 테이블명 등의 명령어를 통하여 확인이 가능합니다.
    불편을 드려 죄송하게 되었습니다.

    감사합니다.

  1. CUBRID 사용자를 위한 DBeaver 도구 출시 안내

  2. gettransactioninfo api sql text 조회 안됨

  3. api 결과 값 질문

  4. 데이터베이스 로드 관련 문의

  5. batch에서 insert 작업할 때

  6. 시퀀스 nextval 할 때 특정 값 제외 하는 방법 있습니까?

  7. 컬럼의 DEFAULT 값 추출 문의

  8. 큐브리드 매니저 호스트연결시 무한 로딩

  9. 큐브리드 locale이 euckr일 때 cp949 문자도 지원하는 것인가요?

  10. view 실행 쿼리를 조회 하고 싶습니다.

  11. CUBRID 기동 시 오류

  12. 문자셋 문의드립니다.

  13. Cubrid 재기동 관련 에러사항

  14. 파일 업로드시 브로커 오류 메시지

  15. 큐브리드 사용중 정지

  16. SQL 수행 이력 및 통계정보

  17. 버전 업데이트 이후 Conversion error in date format 에러

  18. 큐브리드 엔진 디렉토리와 데이터파일 디렉토리를 분리하는 방법

  19. 데이터 베이스 백업시 에러

  20. 백업작업시 Unable to mount disk volume 그런파일이나 디렉터리가 없습니다 라는 에러 발생합니다

  21. sql_id가 empty일 때 Tran time이 존재하는 경우?

Board Pagination Prev 1 ... 7 8 9 10 11 12 13 14 15 16 ... 213 Next
/ 213

Contact Cubrid

영업문의 070-4077-2112 / 기술문의 070-4077-2148 / 대표전화 070-4077-2110 / Email. contact_at_cubrid.com
Contact Sales