Background Image

FORUM

2019.01.18 16:10

iferror 함수

조회 수 5818 추천 수 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 4438
3864 ADO.Net 사용중입니다. 상태확인 방법을 알고 싶습니다. 1 CUCUCUCU 2015.10.22 5691
3863 ADO.net Driver 변경 시 cascci.dll 로드할 수 없다는 오류 1 물병 2017.07.25 503
3862 ADO.net 또는 ODBC에 대한 질문입니다. 12 세스카 2012.03.20 13374
3861 ADO이용시 OLEDB Driver에러 2 flypig 2010.01.29 15619
3860 AIX에 CUBRID 설치 후 오류사항 문의 1 최명호 2015.06.02 7735
3859 ALTER 로 PK 여러 개 지정하고싶습니다 4 사탕구름 2021.07.21 822
3858 ARRAY 데이터 타입에 대한 SQL 질문 3 지용 2010.10.08 10246
3857 AUTO INCREASE 가 편집이 안됨 2 file 큐브리드어려워요 2022.02.08 265
3856 AUTO_INCREMENT 수동 증가 문의 2 cubrid초보 2021.08.19 726
3855 AUTO_INCREMENT 컬럼 이용시 2 hyperhand 2009.12.22 17647
3854 AVG 함수관련 질문드려요 1 구름마음 2013.06.10 13677
3853 Ado.NET : Cannot connect to CUBRID CAS 오류 2 websiter 2017.05.05 57816
3852 Ado.net. ExecuteNonQuery의 반환값이 항상 0 입니다. 2 모비23 2019.01.08 1478
3851 An IOException was caught during reading the inputstream 1 익명2 2015.11.26 6829
3850 An IOException was caught during reading the inputstream 1 익명2 2015.11.26 6872
3849 An IOException was caught during reading the inputstream. 오류 조치방법 좀 알려주세요. 1 ldev27 2019.10.29 314
3848 An internal error occurred during: "Fetching children of <DB명>". java.lang.NullPointerException 에러 4 ysh 2021.04.06 479
3847 Apm_setup7로 자동설치시 연동이 안되는데... 1 또랑 2010.11.08 8277
3846 Archive Log만으로 타임복구가 가능한가요? 4 핑핑크 2016.04.29 9817
3845 Archive log 관리 질문 2 june2 2013.07.16 9329
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 ... 200 Next
/ 200

Contact Cubrid

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