0
내 테이블에는 여러 개의 docNum 시리즈가 있습니다.매개 변수를 사용하여 레코드를 검색하는 방법은 무엇입니까?
모든 시리즈를 조건부로 검색하거나 세트에서 하나의 시리즈를 제외하고 싶습니다.
나는 오류declare @p char(1) = 1
select
t0.docNum
from
OINV t0
where
t0.DocNum = case
when @p <> '1' then t0.DocNum
else (select t1.DocNum
from oinv t1
where SUBSTRING(convert(varchar, t1.docNum), 1, 1) <> '9'
and LEN(convert(varchar, t1.docNum)) < 7)
end
을 반환 다음 쿼리를 시도 무엇 올바른 쿼리를해야 하는가?를
무엇이 오류입니까? – zambonee
여기에 몇 가지 문제가 있습니다. 먼저 문자열 리터럴을 '1'로 정의해야합니다. 그런 다음 varchar로 변환하지만 길이는 지정하지 않습니다. 길이에 대한 기본값이 있으며 용도에 따라 변경됩니다. 노골적으로 말하십시오. 그리고 이것은 조금 복잡해 보이지만 실제로 진행되는 것을 말하기는 어렵습니다. 오류가 있다는 것을 말하는 대신 오류 메시지를 게시 한 경우 도움이 될 것입니다. –
방금 SQL을 배우기 시작할 때, 실수로 많은 쿼리를 작성하는 대신 모든 문에 대해 쿼리를 실행하는 것이 좋습니다. 첫 번째 줄에서 실패 할 것입니다. – Eric