환율이있는 날짜 별 기록이 여러 개인 환율 테이블이 있습니다. 어떤 날짜를 통과하면서, 내가 20/05/2012를 통과하면 다음 반환해야합니다 (5) 평가처럼지정된 날짜 이전에 최신 값을 찾으십시오.
Date Rate
17/05/2012 5
23/05/2012 6
27/05/2012 7
는 지금은 속도를 원하는 때문에 20/05/2012 날짜 범위 17 경과 23 2012 년 5 월
환율이있는 날짜 별 기록이 여러 개인 환율 테이블이 있습니다. 어떤 날짜를 통과하면서, 내가 20/05/2012를 통과하면 다음 반환해야합니다 (5) 평가처럼지정된 날짜 이전에 최신 값을 찾으십시오.
Date Rate
17/05/2012 5
23/05/2012 6
27/05/2012 7
는 지금은 속도를 원하는 때문에 20/05/2012 날짜 범위 17 경과 23 2012 년 5 월
당신이 올바른 데이터 유형은 한 가정이 같은
SELECT TOP 1
Rate
FROM
MyTable
WHERE
DateColumn <= '20120520'
ORDER BY
DateColumn DESC
'16/5/2012 ', 4와 같이 샘플 데이터에 레코드가 하나 더 존재하면 쿼리 대신 5가 아닌 4가 반환됩니까? –
@ChrisGessler : "TOP 1"을 사용하여 20120520 이전에 유일한 최신 행을 가져옵니다. "최신"은 DateColumn – gbn
의 내림차순으로 정의됩니다. 상위 1 desc, 작동해야 –
시동기의 데이터 유형은 무엇입니까? – gbn
모호하지 않은 날짜 형식을 사용하십시오. SQL Server의 경우 가장 안전한 것은'YYYYMMDD'입니다. –