2013-06-26 3 views
1

SQL에 2 개의 문자열을 볼 수있는 수식을 쓰려고합니다. 결과는 모두 일치하는 문자입니다.SQL에서 두 문자열을 비교하고 일치하는 모든 문자 만 가져 오는 방법은 무엇입니까?

편집 : 쿼리 IBM DB2
편집에 대하여 : 비교 ABP AP = AP

예 :

ABP compared to ABMP = ABP 
MP compared to P = P 
AP compared to BMP = P 
ABP compared to AP = AP 
+0

ABP와 AP =? – Blorgbeard

+0

그런 것들은 원하는 프로그래밍 언어로 더 잘 수행됩니다 (SQL은 프로그래밍 언어가 아닙니다). – fancyPants

+0

ABP는 AP = 'AP' – Sachin

답변

2

내가 SQL이라고 생각하지 않습니다 이 문제에 매우 잘 어울리면, ch로 문자를 비교할 수있는 프로그래밍 언어로 할 수 있습니다. aracter.

어떤 데이터베이스를 사용하고 있습니까? 원하는 것을 달성하고 SQL 문에서 함수를 호출 할 수 있도록 사용자 정의 함수를 작성하는 옵션이있을 수 있습니다.

UPDATE

나는 IBM DB2는 위의 제안으로 고객 함수를 작성하는 데 사용할 수있는 절차 확장을 제공 믿습니다. 불행히도 DB2에 대한 경험이 없으므로이 문제를 해결할 수 없습니다. 나는 당신을 위해 몇 가지 정보는 다음 링크를 발견 :

http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/ad/c0011916.htm 분명히

+1

나는이 길을 따라 여행 할 것이다. 고마워요! – Shatterday

+0

SQL Server가있는 경우 CLR 저장 프로 시저를 사용하는 것이 좋습니다. – HLGEM

0

, 문제는 완전히 요구 사항을 지정하지 않습니다,하지만 명시된 바와 같이 문제는이 입력 주어 해결할 수 있습니다

create table Temp 
(
id int, 
val varchar(1000) 
); 

insert into temp values 
(1,'ABMPZ'), 
(2,'AM'); 

with t (id, c, n) as (
    select id, substring(val,1,1), 1 from temp 
    union all 
    select t.id, substring(temp.val, t.n+1, 1), t.n+1 from t, temp 
    where t.id=temp.id and t.n < 1000 and t.n < len(val) 
) 
select t1.c from t t1, t t2 
where t1.id = 1 and t2.id = 2 and t1.c = t2.c 

SQLFiddle example.

,536 :이 같은 뭔가

관련 문제