2014-12-05 4 views
1

내 데이터베이스에 YYYYnnnn.ee와 같이 형식이 지정된 프로젝트 번호 (예 : 20140124.00)의 데이터 열이 있습니다. 숫자의 세 부분이 있으므로 사용자는 YYYY 또는 nnnn을 사용하여 검색 할 수 있습니다. YYYY로 검색하는 쿼리를 작성했습니다. nnnn에 대한 쿼리를 작성해야합니다.문자열 내의 SQL 쿼리 검색

다른 문자열의 특정 위치에서 특정 문자열을 검색하기 위해 검색어를 작성 하시겠습니까?

+1

별도의 열로 나누어야합니다. –

답변

2

SUBSTRING을 사용할 수 있습니다.

SUBSTRING에 대한 첫 번째 매개 변수는 columname이어야하고 다음 매개 변수는 시작 문자의 색인이며 마지막 매개 변수는 문자 수입니다.

아래 예제는 열에서 nnnn 부분을 반환합니다. 당신의 열이 수 (진수) 인 경우 nnnn은, 1234

SELECT *  
FROM tablename 
WHERE  
(SUBSTRING(columnName, 5, 4) = '1234') 

있습니다 동일 곳의 예에서 우리는 기록을 찾고있다 아래. 먼저 varchar (문자열)로 변환해야합니다. 예 :

SELECT *  
FROM tablename 
WHERE  
(SUBSTRING(CAST(columnName AS VARCHAR(20)), 5, 4) = '1234')