2011-01-24 4 views
1

Sybase 12.5.3을 사용 중이며 정규 표현식 패턴 매칭이 필요합니다.Sybase 12 : REGEXP 검색 조건을 알 수 없음

Sybase 도움말에 버전 11부터 정규 표현식 기능이 있었지만 작동하려면 아무 것도 표시되지 않습니다.

This document은 REGEXP 및 SIMILAR TO 검색 조건을 설명합니다. 나는 여러 테이블에서 성공하지 못하고이 두 가지를 시도했다. 예를 들어

: 해당 오류에 대한

Incorrect syntax near 'regexp'.

유일한 검색 결과는 MS-SQL 관련이 있습니다

SELECT * 
    FROM REPORTS 
WHERE name regexp '.*' 

... 나에게 오류를 제공합니다.

나는 REGEXP_LIKE와 SIMILAR TO를 사용하는 것을 포함하여 여러 가지를 시도했지만 그 단어가 이해되지 않는 것처럼 같은 종류의 오류가 발생합니다. 내가 놓친 게 있니? 비교할 열은 문자열을 포함합니다.

이 기능을 활성화/비활성화 할 수있는 옵션을 찾을 수 없으며 내가 제공하는 실제 문자열에는 아무런 영향이 없습니다.

관련성이있는 경우 DBArtisan 8.7.5를 사용하고 있습니다.

+0

이 지원되지 않습니다, 당신을 위해 무엇을 검색하려고 :

name like "[0-9]"는 문서를 참조하십시오? LIKE는 제한된 와일드 카드를 지원합니다. –

+0

** 이름 **을 대괄호 안에 넣지 않아야합니까? 나는 이것이 예약어라고 생각한다. –

+0

@OMG Ponies -이 DB를 통해 Java 서버에서 처리하는 비즈니스 논리를 에뮬레이트하여 추출을 만들려고했습니다. 매우 복잡한 정규 표현식이 몇 개 있으며, 엔티티 간의 '메타'관계가 표현식에서 유추 될 수 있습니다. 좋아하지 않을거야! –

답변

6

링크는 Sybase Anywhere 설명서로 이동하지만 12.5.3을 사용하고 있습니까? Sybase ASE 버전 번호처럼 보입니다. 완전히 다른 제품 - 나는 ASE가 ASE 15까지 Regex를 지원한다고 생각하지 않습니다. ASE를 사용하는 경우이 작업을 수행하는 다른 방법을 찾아야합니다.

+0

아, 그게 틀림 없어. Sybase에 익숙하지 않아 제공하는 RDBMS가 두 개 이상 있다는 것을 인식하지 못했습니다. 나는 Sybase 정규 표현식에 대해 상당히 깊이 연구했으며 모든 결과는 가능하다는 것을 나타 냈습니다. 나는 우리가 ASE를 실제로 사용하고 있음을 확인했다. 그런데 정규 표현식을 사용할 수 없다는 부끄러운 말이다. 당신의 도움을 주셔서 감사합니다! –

0

regexp('.*') 일 수 있지만 12.5.x 용 Sybase 매뉴얼을 살펴본 후 버전에 정규 표현식 메소드가 없다고 생각합니다.

관련 문제