Я искал, но все вопросы приводят к тому, что одни и те же строки или даже только две строки разделяются, но мое требование охватывает более широкую версию
У меня это в одной строке с определенным номером строки, я должен забрать 2-й 67503.55-
а также 51810.60-
и откажитесь от всего остального.
TOTALS: 228 67503.55- **67503.55**- 165420.27 217230.87- **51810.60**- 119314.15-
Я пытался с помощью fn_split
но без посторонней помощи.
2 ответа
Если ваша база данных поддерживает SPLIT_TOKEN()
, вы можете попробовать это:
WITH
input(s) AS (
SELECT 'TOTALS: 228 67503.55- 67503.55- 165420.27 217230.87- 51810.60- 119314.15-'
)
SELECT
SPLIT_PART(s,' ',4) AS first_needed_token
, SPLIT_PART(s,' ',7) AS second_needed_token
FROM input;
first_needed_token|second_needed_token
67503.55- |51810.60-
В противном случае попросите SPLIT_TOKEN()
в вашей РСУБД.
Спасибо, я попробовал что-то подобное, что делает то же самое, что split_token, его sql-сервер, который я использую, и он не поддерживает эту функцию: -
col1 = SUBSTRING (Col, 9,14), col2 = SUBSTRING (Col, 27,14), col3 = SUBSTRING (Col, 40,14)