Background Image

FORUM

2019.01.18 16:10

iferror 함수

조회 수 5812 추천 수 0 댓글 4
?

단축키

Prev이전 문서

Next다음 문서

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

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
Window7 32bit
CUBRID Ver.
[cubrid_rel] 수행 결과
CUBRID TOOL Ver.
[도움말]-[버전정보] 확인
응용 환경(API)
java

* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
select * from member
where DATEDIFF(SYSDATE, TO_DATE(birthday, 'yyyymmdd'))/365 BETWEEN 20  AND 29


birthday 는 char(8) 타입인데요.

실행 오류 : -784 Two arguments are mismatched.   라고 나옵니다.

birthday 가 TO_DATE로 변환 시 오류 발생시에는 무시하는 기능 - (예) nvl 함수 같은 것 - 은 없을까요?


  • ?
    큐브리드_김주현 2019.01.18 17:06
    큐브리드를 이용해주셔서 감사합니다.

    테스트하면 정상 출력됩니다.
    csql> select SYSDATE, TO_DATE(birthday, 'yyyymmdd'), DATEDIFF(SYSDATE, TO_DATE(birthday, 'yyyymmdd'))/365 from member;

    === <Result of SELECT Command in Line 1> ===

    SYS_DATE to_date(birthday, 'yyyymmdd') datediff( SYS_DATE , to_date(birthday, 'yyyymmdd'))/365
    =======================================================================================================
    01/18/2019 01/18/1999 20

    ** CUBRID버전정보(확인방법: cubrid_rel) 데이터 형태를 알려주시면 다시 확인해 보겠습니다.

    참고로, (예)nvl함수같은것 은 ...CAST()를 이용해보세요..(https://www.cubrid.org/manual/ko/9.3.0/sql/function/typecast_fn.html?highlight=cast#id1)
    감사합니다.
  • ?
    아영이 2019.01.21 18:09
    예를 들어 birthday 에 '19000000' 이라는 값이 들어가 있는 경우 TO_DATE(birthday, 'yyyymmdd') 변환을 시도 하면 Two arguments are mismatched 라고 나옵니다.
    member 테이블에 건수가 너무 많아 일일이 이런 값들을 필터링 하기가 어려워 해당 오류는 무시(해당 데이터는 skip) 하도록 만들 수는 없을까요?
  • ?
    큐브리드_김주현 2019.01.22 17:26
    데이터 유효성 체크를 말씀하셨던 거네요..

    함수로는 REGEXP()를 제공하고 있습니다. 매뉴얼 참조하여 유효성 체크 후 datediff를 사용하시면 될듯합니다.
    감사합니다.

    https://www.cubrid.org/manual/ko/9.3.0/sql/function/condition_fn.html?highlight=regexp#regexp-rlike
  • ?
    아영이 2019.01.24 18:02
    감사합니다

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4257
3856 아무리 생각해도 이건 버그 같습니다. 3 안지민 2009.03.06 11491
3855 왜 컬럼이름이 안붙나요...... 1 file 안지민 2009.03.06 12072
3854 테이블 파티셔닝은 1 홍서기 2009.03.07 15033
3853 DB 로그인시 에러 1 file 이석희 2009.03.12 11747
3852 저장 프로시져 질문 3 file 이석희 2009.03.12 16477
3851 초보 질문드립니다^^:(인스턴스 갱신) 1 박동진 2009.03.12 10959
3850 mysql에서 limit와 같은 기능이 있나요? 1 홍서기 2009.03.14 16330
3849 [질문] APC_Install-tools 1.4 사용시 ~ 2 file 야매코더 2009.03.17 10930
3848 에러 코드 관련 다시 질문 드립니다 1 kkckc 2009.03.18 11502
3847 데이타베이스 복구에 관한 질문. 1 김우람 2009.03.18 12049
3846 질의가 무한 루프로 발생시 대처법 질문 1 이석희 2009.03.18 12766
3845 백업파일을 이용하여 데이터베이스가 없는 다른 서버에서 복구하는 방법 질문. 1 김우람 2009.03.19 12973
3844 유니크한 값 얻어오기 있나요? 2 이승훈 2009.03.19 13138
3843 큐브리드 deb 패키징중... 8 강분도 2009.03.19 20577
3842 TIME 포맷 관련 질문 입니다. 1 이승훈 2009.03.19 12102
3841 broker서버가 시작되지 않습니다.. 2 platanus 2009.03.21 23737
3840 CCI 예제 프로그램이 실행이 안되요;; 5 file 나동호 2009.03.21 15036
3839 [쌩초보]내컴퓨터 서버만들기는 성공 했습니다.그후 1 왕초보 2009.03.21 18781
3838 CCI 프로그램을 하려면 어떻게 해야하나요? 2 나동호 2009.03.22 10712
3837 Cubrid 2008 R 1.3 설치중 에러메시지 3 동진 2009.03.23 11004
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 ... 199 Next
/ 199

Contact Cubrid

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