database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
ㆍDB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
DB2 Q&A 3189 게시물 읽기
No. 3189
like와 substr을 함께 쓸때 오류
작성자
like
작성일
2012-05-09 09:56:48
조회수
4,489

아래 첫번째 쿼리는 문제없이 돌아가는데,
두번째 쿼리처럼 substr안에 컬럼명을 주면 아래처럼 에러가 납니다.

like 뒤에 string이 오지 않아서 그렇다는 것 같은데 세번째처럼 cast를 해줘도 마찬가지에요. 왜 그럴까요?
YYMMDD와 YYMMDD2 두 컬럼 모두 char(8) 타입입니다.
------------------------------------------------------------------------------
select * FROM TABLE_A
WHERE YYMMDD LIKE SUBSTR('20120509', 1, 6)||'%';    -> 정상

select * FROM TABLE_A
WHERE YYMMDD LIKE SUBSTR(YYMMDD2, 1, 6)||'%';     -> 오류

select * FROM TABLE_A
WHERE YYMMDD LIKE CAST(SUBSTR(YYMMDD2, 1, 6)||'%' AS char(6));     -> 오류
------------------------------------------------------------------------------

 

DB2 Database Error: ERROR [42824] [IBM][DB2/AIX64] SQL0132N  A LIKE predicate or POSSTR scalar function is not valid because the first operand is not a string expression or the second operand is not a string.  A LOCATE or POSITION scalar function is not valid because the first operand is not a string or the second operand is not a string expression.  SQLSTATE=42824
 

이 글에 대한 댓글이 총 3건 있습니다.

 db2에서는 like절에서 string expression만을 지원합니다. 데이터베이스 컬럼은 사용하지 못합니다. 별도의 UDF를 작성하시거나 로직을 변경하셔야 할 듯 합니다.

http://www-01.ibm.com/support/docview.wss?uid=swg21370214

정상규(pajama)님이 2012-05-10 20:01:15에 작성한 댓글입니다.

답변 감사합니다.

안된다니 안타깝네요...--;

제가 DB2를 처음 써봐서 그러는데

별도  UDF를 작성하라는 게 무슨 뜻인지요?

UDF를 작성하면 like문 뒤에 컬럼을 사용할 수 있는 방법이 있나요?

like님이 2012-05-11 11:27:47에 작성한 댓글입니다. Edit

YYMMDD >  SUBSTR(YYMMDD2, 1, 6)

 

 

조는냥이님이 2012-08-03 09:24:53에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
3192db2 초보..begin~end 문 사용하기...도와주세요
자유남자
2012-06-13
3873
3191for fetch only에 대해서 [1]
홍성훈
2012-06-08
3914
3190SELECT 절 기초적인 질문 드립니다. [3]
이한호
2012-05-21
4324
3189like와 substr을 함께 쓸때 오류 [3]
like
2012-05-09
4489
3188호스트 배열 변수의 각 Element 접근방법?
백옥동
2012-04-19
3310
3187AS/400 Reverse Engineering 대해서..
곽동엽
2012-04-18
3162
3186[DB2]UPDATE JOIN시 OUTER JOIN을 사용하려면
오솔
2012-04-17
5472
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2019 DSN, All rights reserved.
작업시간: 0.077초, 이곳 서비스는
	PostgreSQL v11.5로 자료를 관리합니다