2014-01-30 1 views
2

나는 SAS에서 사용되는 코드의 다음 추출물을 가지고 데이터를 추출하는 SQL 서버에서 그것을 쓰고 싶다.SQL Server에서 substr을 사용하는 방법은 무엇입니까?

substr(zipname,1,4) in("2000","9000","3000","1000");run; 

어떻게하면 SQL Server에 기록하나요?

나는 노력이 오류가있어 ...

SQL 서버에서

An expression of non-boolean type specified in a context where a condition is expected

+0

어떻게이게 무슨 뜻인지 번역에 대해? 'IN' 절로 정확히 무엇을해야합니까? –

+1

큰 따옴표를 수정 한 후'substring()'대신'left (zipname, 4)'를 사용할 수 있습니다. –

답변

5

, 아니이 substr 기능 그런데

(그것은 substring의), 당신은 완전한 쿼리를 필요가 없습니다를

select blabla 
from blibli 
where substring(zipname, 1, 4) in ('2000', '9000', 3000', '1000') 

zipname이 varchar 또는 이와 유사한 것으로 가정하면 ...

+0

필자는 이제부터 임시 테이블을 blabli 컬럼으로 명명 할 것입니다. –

+1

@RaduGheorghiu는 이미 모범 사례가 아니십니까? –

+0

고맙습니다. 그것은 효과가있다! 왜 내가 하위 문자열을 생각하지 않았습니까? 고맙습니다. – user3197575

1

레코드를 가져 오는 테이블이 필요하며 zipname은 테이블의 열입니다. 첫 번째 X 문자를 원하기 때문에, 당신은 또한 왼쪽() 함수를 사용할 수

select * from tablename where substring(zipname,1,4) in ('2000','9000','3000','1000') 
1

: 문은 다음과 같이 될 것이다.

where left(zipname, 4) in (values go here) 

값은 작은 따옴표로 묶어야합니다. 귀하의 질문에 큰 따옴표가 있습니다.

+0

왼쪽 (zipname, 4)이 아니십니까? – Joe

관련 문제