Background Image

FORUM

2020.06.05 10:24

이상한 현상..

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

단축키

Prev이전 문서

Next다음 문서

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

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
Linux 64bit 등
CUBRID Ver.
10.1.3.7765-265e708
CUBRID TOOL Ver.
10.1.0.0005
응용 환경(API)
-

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


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


동일한 쿼리를 union all 으로 묶고 

하나는 like 검색에 % 넣고 다른 하나는 like 검색에 %를 제외 하고 조회하였을때 결과 length 값이 달라집니다.

위에쿼리

  A.USER_NO LIKE 'yunsun%'

아래쿼리

 A.USER_NO LIKE 'yunsun'


A.user_no의 length의 값이 위에서는 7, 아래쿼리는 6으로 조건이 변경되니 결과값의 length가 변경되는 문제가 있어서 문의드립니다.




재현 방법

1. A테이블에 user_no 'yunsun ' 아이디가 있었습니다. 공백이 있었음

    => 여러번 조회 함 에러발생


2. update 구문으로 update tb_hz090 set user_no = trim(user_no)

  => 전체 공백을 제거


3. 조건식에 따라 user_no의 결과값의 길이가 다르게 리턴됨 


4. user_no는 varchar(30) 임


예제)

SELECT

A.USER_NO,

LENGTH(TRIM(A.USER_NO)),

LENGTH(A.USER_NO),

LENGTH('vouadm'),

A.WORK_AUTH_CD

FROM

TB_HZ090 A

LEFT OUTER JOIN TB_HZ070 B ON A.WORK_AUTH_CD = B.WORK_AUTH_CD

WHERE

B.USE_YN = 'Y'

AND A.USER_NO LIKE 'yunsun%'

UNION ALL

SELECT

A.USER_NO,

LENGTH(TRIM(A.USER_NO)),

LENGTH(A.USER_NO),

LENGTH('vouadm'),

A.WORK_AUTH_CD

FROM

TB_HZ090 A

LEFT OUTER JOIN TB_HZ070 B ON A.WORK_AUTH_CD = B.WORK_AUTH_CD

WHERE

B.USE_YN = 'Y'

AND A.USER_NO LIKE 'yunsun'


결과값 

yunsun 6 6 6 HZ003000

yunsun 6 7 6 HZ003000

  • ?
    정훈 2020.06.05 10:45
    안녕하세요 문의하신 내용대로 재현을 해보았지만 발생하지 않았습니다.
    1. create table trim_test ( user_no varchar(30));
    2. insert into trim_test values ('yunsun ');
    3. select * from trim_test;
    4. update trim_test set user_no = trim (user_no);
    5. select user_no, length(trim(user_no)), length(user_no) from trim_test where user_no like 'yunsun'
    union all
    select user_no, length(trim(user_no)), length(user_no) from trim_test where user_no like 'yunsun%';
    6. 결과
    ======================================================================================
    'yunsun' 6 6
    'yunsun' 6 6

    TB_HZ090, TB_HZ070 해당 테이블의 스키마 정보와 샘플 데이터를 첨부해주시면 확인해보겠습니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4443
3927 query 최대 실행 줄 수 가 어떻게 되나요?? 3 file kjn4345 2023.11.24 153
3926 같은 그룹에 속한 OS계정에서의 csql접속 3 f0081 2023.11.22 109
3925 비슷한 조건의 환경에서 select 질의시 오류가 발생합니다. 1 msbb8585 2023.11.21 103
3924 임시볼륨 늘어나는 문제 1 angdoo 2023.11.21 96
3923 DB 데이터 이전 관련 3 별린 2023.11.20 120
3922 Java Maven Repository 2 내멋으로 2023.11.16 121
3921 Cubrid의 Window 버전의 Broker Port 구성 방식 2 jhlee 2023.11.15 98
3920 [CUBRID Admin] ENUM 데이터 내보내기 1 tree1891 2023.11.14 109
3919 CUBRIDException: Data type references are incompatible. 에러관련 쿼리질문 15 file yhpark 2023.11.14 218
3918 사용자 삭제 시 소유한 오브젝트를 함께 삭제하는 방법 1 f0081 2023.11.14 135
3917 unloaddb 에러 확인 요청. 1 정현 2023.11.13 91
3916 유저생성 함수 반복 실행 시, fatal error발생 2 f0081 2023.11.09 102
3915 11.2버전에서 사용자 스키마에 대해서 궁금한 것이 있습니다. 1 로키 2023.11.08 138
3914 저장프로시저 실행관련 문의 4 f0081 2023.11.08 138
3913 다른 소유자 테이블 검색 권한 2 박혀누 2023.11.08 136
3912 [CUBRID Admin] 사용자의 테이블 권한 편집 1 tree1891 2023.11.06 97
3911 3909번 답변 좀 부탁드립니다. f0081 2023.11.06 91
3910 [CUBRID Admin] 테이블 컬럼 순서 변경 불가 12 tree1891 2023.11.05 178
3909 시스템 카탈로그 조회 외 1 f0081 2023.11.01 121
3908 시리얼 생성 시 class_name, attr_name, started 컬럼 값을 변경하고 싶습니다. 1 file getpost 2023.11.01 111
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 200 Next
/ 200

Contact Cubrid

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