У меня есть выбор, который возвращает значение продолжительности. то, что я хотел бы сделать, это найти это значение в таблице поиска и вернуть значение для доходности, которое ближе всего к этому значению продолжительности.tsql - совпадение до ближайшего числа в поиске
например
я иметь продолжительность 0,20 для USD, так от моего взгляда на таблицу ниже, полученный из этого кода:
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.20 ближе всего к 0,25, я верну 5.03 в качестве урожая.
Однако я не уверен, как это сделать, поскольку поиск не ищет точное совпадение, просто самое близкое к значению. Любая идея, как я мог это сделать?
Выполняет 'select top 1' и' order by abs (col-value) 'указывает вам в правильном направлении? – HABO