DECLARE @ol XML
SET @ol= '<ol>
<li>value1</li>
<li>value2</li>
<li>value3</li>
</ol>';
SELECT ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS Nr,
li.value('.', 'NVARCHAR(100)') AS Value
FROM @ol.nodes('/ol/li') AS x(li)
Попробуйте этот простой запрос ... здесь ... Получение номера строки () ... поэтому мы получаем Nr как число ... 1,2,3..so on ... и значение xml втаблица ....
Вы получите этот тип вывода ...
Вывод:
Nr Value
----------- ------
1 value1
2 value2
3 value3
После редактирования вашего вопроса .. . Решение должно быть следующим: .....
DECLARE @ol XML
SET @ol=
'<ol type="i" start="3">
<li>value1</li>
<li>value2</li>
<li>value3</li>
</ol>';
SELECT 2 + ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS Nr,
li.value('.', 'NVARCHAR(100)') AS Value
FROM @ol.nodes('/ol/li') AS x(li)
Вывод:
Nr Value
----------- ------
3 value1
4 value2
5 value3
здесь добавление значения +2 к RowNumber (), так что .. ... мы можем получить значение 2,3,4 ... и так далее ..