2012-09-06 2 views
2

나는 데이타베이스에서 새롭기 때문에 묻는 나의 방법을 무시하십시오!텍스트 상자의 특정 값을 그리드보기로 가져 오시겠습니까?

두 개의 텍스트 상자에 date와 To라는 이름의 달력이 있고 그 중 텍스트 상자에서 선택한 특정 날짜에 대해 그리드보기에서 데이터를 가져 오려고합니다.

이 작업을 위해 저장 프로 시저를 만들었지 만 저장 프로 시저에 대해 잘 모릅니다. 여기

내 저장 프로 시저

select * from cor_leave 
where dt_from >= @dt_from and dt_from <= @dt_to 

내가 올바른 방법에 갈거야 아니면 내가 어떤 잘못 날 좀 도와주세요 일을하고있는 경우인가? 또는 내 문제를 해결할 수있는 방법이 있습니까 ???

답변

0

예, 제대로 된 것입니다. 그러나 dt_from은 정확한 날짜 범위를 얻기 위해 date 데이터 형식과 호환되는 데이터 형식이어야합니다.

또한 BETWEEN 대신 >=<= 사용할 수 있습니다

는 는
SELECT * 
FROM cor_leave 
WHERE dt_from BETWEEN @dt_from AND @dt_to 
0
당신은이 방법으로 조회해야

:

select * from cor_leave 
where dt_from between @dt_from and @dt_to 
0

다른 답변 이외에, 그것은 문제가 발생할 수는 dt_toNULL을 유지 .

이 경우 쿼리는 @dt_to이 아닌 레코드를 가져 오지 않습니다.

이러한 문제를 방지하려면 쿼리 아래 참조 :

SELECT * 
FROM cor_leave 
WHERE dt_from BETWEEN @dt_from AND ISNULL(@dt_to,dt_from) 
관련 문제