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

Откуда:
Сообщений: 69
Приходит команды, например - "Установить напряжение на шинах 110 кВ - 115 кВ". Необходимо вытащить из базы ее Id. Но в базе храниться строка вида "Установить напряжение на шинах «ХХХ» кВ – «ХХХ» кВ". И в этом загвоздка. Была бы она ограничена до «ХХХ» - спокойно бы вытащил как подстроку в приходящей строке. Есть идеи как вытащить айдишник?
4 июл 12, 17:03    [12817468]     Ответить | Цитировать Сообщить модератору
 Re: Поиск строки в строке  [new]
flexgen
Member

Откуда: Город на песке
Сообщений: 852
ptybn84.07,

Как такой вариант?

declare @InputString varchar(max)
declare @SearchString varchar(max)

set @InputString = 'Установить напряжение на шинах 110 кВ - 115 кВ'
set @SearchString = substring(@InputString, 1, 30)

select id 
from Messages
where substring(MessageText, 1, 30) = @SearchString
4 июл 12, 18:13    [12818051]     Ответить | Цитировать Сообщить модератору
 Re: Поиск строки в строке  [new]
Crimean
Member

Откуда:
Сообщений: 13147
совсем в лоб. но это сканы.

declare @a table( id int , s varchar(200) )

insert into @a select 1, 'Установить напряжение на шинах «ХХХ» кВ - «ХХХ» кВ'
insert into @a select 2, 'Не спать на работе'
insert into @a select 3, 'Да пошло оно все'

declare @s varchar(200)
set @s = 'Установить напряжение на шинах 110 кВ - 115 кВ'

select * from @a where @s like replace( s, '«ХХХ»', '___' )
4 июл 12, 18:28    [12818159]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить