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

Откуда:
Сообщений: 55
Добрый вечер, подскажите пожалуйста, возможно ли запросом сравнить значения в одном поле, например поле 'qweqweqw: trytry: 123: rthfghg: 124' и сравнить 123 и 124, ни когда с таким не сталкивался, но вот понадобилось, спасибо.
7 июл 11, 20:16    [10941568]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение значений в одном поле  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
распарсить и сравнить
7 июл 11, 20:29    [10941615]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение значений в одном поле  [new]
stassk8
Member

Откуда:
Сообщений: 55
Knyazev Alexey,а если длина поля переменная? Не знаю точное кол-во символов, как быть?
7 июл 11, 21:59    [10941921]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение значений в одном поле  [new]
yado4eg
Member

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

зачитайте
7 июл 11, 23:56    [10942345]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение значений в одном поле  [new]
stassk8
Member

Откуда:
Сообщений: 55
Зачитал, чуть разобрался, спасибо, но сразу столкнулся с трудностью, связанную с тем, как передать в substring параметр длины.
Допустим такое поле, в нем хочу сравнить значения в Cut{ и последние 3 цифры из Param{, т.к. длина строки заранее не известна, то длины решил определить так:
declare @ct varchar(100)
declare @tt varchar(100)
set @ct= 'select charindex(''Cut{'',test) + 3 from dbo.test'
set @tt= 'select charindex(''Param{'',test) + 5 from dbo.test'

select substring(test,@ct,10) from Test

а как теперь передать значение @ct в substring - он просит int, на выходе же varchar, convert не помогает, или так вообще нельзя? Т.е. грубо говоря определяю длину до нужного мне параметра и потом передаю в substring и уже вырезаю кусок нужной длины.

К сообщению приложен файл. Размер - 5Kb
12 июл 11, 21:15    [10964308]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение значений в одном поле  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
SUBSTRING(character_expression, position, length)

character_expression
Is a character expression from which to extract characters.

position
Is an integer that specifies where the substring begins.

length
Is an integer that specifies the length of the substring as number of characters.
13 июл 11, 06:03    [10965321]     Ответить | Цитировать Сообщить модератору
 Re: Сравнение значений в одном поле  [new]
Mirray
Member

Откуда:
Сообщений: 1
select substring(test,charindex(''Cut{'',test) + 3,10) from Test
13 июл 11, 09:14    [10965553]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить