Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помогите распарсить строку  [new]
temoxa
Member

Откуда:
Сообщений: 405
Всем привет!
Подскажите как можно распарсить вот такую строку "$0 - $20" чтобы получить отдельно значение 0 и 20?
Спасибо!
28 авг 13, 00:38    [14763442]     Ответить | Цитировать Сообщить модератору
 Re: Помогите распарсить строку  [new]
serpentariy
Member

Откуда:
Сообщений: 265
temoxa,

Если тупо ответить на ваш вопрос, то:
select SUBSTRING('$0 - $20',2,1),SUBSTRING('$0 - $20',7,2)

, но ведь вам вряд ли это нужно, а посему опишите проблему в общем случае.
28 авг 13, 01:04    [14763496]     Ответить | Цитировать Сообщить модератору
 Re: Помогите распарсить строку  [new]
Ruuu
Member

Откуда: Иркутск
Сообщений: 4272
temoxa,

declare @s varchar(100)='$10 - $20'
select CAST(LEFT(@s,CHARINDEX('-',@s)-1) AS money), CAST(RIGHT(@s,DATALENGTH(@s)-CHARINDEX('-',@s)) AS money)
28 авг 13, 04:43    [14763585]     Ответить | Цитировать Сообщить модератору
 Re: Помогите распарсить строку  [new]
temoxa
Member

Откуда:
Сообщений: 405
Всем спасибо!
28 авг 13, 10:47    [14764467]     Ответить | Цитировать Сообщить модератору
 Re: Помогите распарсить строку  [new]
Cammomile
Member

Откуда:
Сообщений: 1214
Чариндексы, сабстринги? Чего такие все сложные?
SELECT REPLACE(REPLACE('$0 - $20','$',''), ' -','')
28 авг 13, 10:54    [14764541]     Ответить | Цитировать Сообщить модератору
 Re: Помогите распарсить строку  [new]
temoxa
Member

Откуда:
Сообщений: 405
И снова этот парсинг, подскажите еще идеи как можно вот с такой строки "78% Recommend Excellent 48 Very good 24 Average 10 Poor 7 Terrible 3" получить среднее по значениям 48, 24, 10, 7, 3? Спасибо!
28 авг 13, 17:47    [14767386]     Ответить | Цитировать Сообщить модератору
 Re: Помогите распарсить строку  [new]
Ruuu
Member

Откуда: Иркутск
Сообщений: 4272
temoxa,

откройте для себя строковые функции
И t-sql не самый удачный инструмент для подобных задач.
28 авг 13, 18:11    [14767492]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить