Background Image

FORUM

2019.01.18 16:10

iferror 함수

조회 수 5821 추천 수 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
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 54
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4461
3855 트리거 생성시 문법 질문 1 초콜릿75 2013.07.03 13430
3854 트리거 삭제 오류 1 file slqk135 2024.01.08 91
3853 트리거 사용시 임시변수 1 지구인다 2018.10.01 253
3852 트리거 등록 후 정보 확인시 오류사항 2 file 종이 2014.08.11 8531
3851 트리거 동작 문의 1 종이 2016.08.12 14126
3850 트리거 inactive 오류 1 단순미학 2010.07.01 8051
3849 트리거 delete on 문법 문의 1 aliveJune 2009.10.05 10742
3848 트리거 delete after시 상관명을 써야합니다. 1 루피 2013.11.07 19636
3847 트리거 ACTIVE/INACTIVE 설정 2 할리 2014.06.18 7842
3846 트랜젝션 처리에 대해 1 kkndo2 2015.04.13 8337
3845 트랜잭션처리 시간지연에 대한 문의입니다. 2 file 히로키 2009.12.03 12337
3844 트랜잭션이(인덱스 1, dba@localhost|20383) 시스템에 의해 취소되었습니다. 1 스마트 2011.01.06 8012
3843 트랜잭션의 상세정보를 확인할수 있는 방법이 있나요? 1 김현성 2011.06.01 10564
3842 트랜잭션과 커밋에 관한 질문 2 유니콘 2011.03.03 10228
3841 트랜잭션 오류 문의 1 oneh 2018.07.18 379
3840 트랜잭션 교착상태 1 초보 2010.04.14 11936
3839 트랜잭션 관련하여 질문드립니다. 6 봉보로봉봉 2017.08.02 415
3838 트랜잭션 관련 추가 문의입니다. 5 메이커스 2009.07.31 9152
3837 트랜잭션 관련 문의입니다. 4 메이커스 2009.07.25 9313
3836 트랜잭션 격리 수준 관련한 에러 메시지 6 file gjgj 2021.07.15 156
Board Pagination Prev 1 ... 3 4 5 6 7 8 9 10 11 12 ... 200 Next
/ 200

Contact Cubrid

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