나는 duration 값을 반환하는 select를가집니다. 내가 뭘하고 싶습니다 조회 테이블 에서이 값을 조회 하고이 기간 값에 가장 가까운 항복에 대한 값을 반환합니다.tsql - 조회에서 가장 가까운 숫자와 일치
예를 들어
그 이하이 코드에서 파생 내 룩업 테이블에서 그래서 나는 USD에 대한 0.20의 기간이 있습니다
select fld1_val, mrkt_cap_wght from dw_iss_indx_cnstnt AS ai WITH (NOLOCK)
INNER JOIN dw_issue_dg AS i WITH (NOLOCK)
ON ai.indx_instr_id = i.instr_id
AND ai.as_of_dte > getdate()-2
INNER JOIN dw_issue_alt_id AS ia WITH (NOLOCK)
on ia.instr_id = ai.indx_instr_id
AND id_ctxt_typ = 'Bloomberg ID'
AND denom_curr_cde = 'USD'
이 반환 그래서
fld1_val mrkt_cap_wght
0.08 5.0168
0.25 5.03
0.5 5.09
1 5.21
2 5.2
5 5.51
10 5.67
12 5.69
15 5.7
20 5.71
무엇 나는 0.22가 0.25에 가장 가깝기 때문에 나는 이것에 대한 검색을 할 것이고, 5.03을 내 수율로 반환 할 것이기 때문이다.
그러나 조회가 정확한 값을 찾지 않고 값에 가장 근접한 값을 찾기 때문에이 작업을 수행하는 방법이 확실하지 않습니다. 어떻게 내가 이걸 할 수 있었는지 알았어?
'선택 상위 1'및 '복근 순 (col - 값)'은 올바른 방향으로 가리 킵니까? – HABO