Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Обновление SQL поискового запроса из LIKE в FREETEXT  [new]
Ser.k
Member

Откуда:
Сообщений: 8
Здравствуйте!

Подскажите как преобразовать ниже переведенный поисковый запрос в полнотекстовый используя предикат FREETEXT:

WHERE (Family LIKE @family + '%')
15 апр 15, 12:22    [17517562]     Ответить | Цитировать Сообщить модератору
 Re: Обновление SQL поискового запроса из LIKE в FREETEXT  [new]
Gviber
Member

Откуда:
Сообщений: 124
where freetext(Family,@family) ?
15 апр 15, 12:29    [17517603]     Ответить | Цитировать Сообщить модератору
 Re: Обновление SQL поискового запроса из LIKE в FREETEXT  [new]
Ser.k
Member

Откуда:
Сообщений: 8
Нет такой запрос не проходит.
15 апр 15, 12:31    [17517613]     Ответить | Цитировать Сообщить модератору
 Re: Обновление SQL поискового запроса из LIKE в FREETEXT  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Ser.k
Нет такой запрос не проходит.


Уверен, вы получили сообщение от сервера: "ya ne prohozhu!"
15 апр 15, 12:35    [17517646]     Ответить | Цитировать Сообщить модератору
 Re: Обновление SQL поискового запроса из LIKE в FREETEXT  [new]
Ser.k
Member

Откуда:
Сообщений: 8
Если данную конструкцию

where freetext(Family,@family),

то выдает (Конструкция или Оператор SQL @family не поддерживается)
15 апр 15, 12:36    [17517651]     Ответить | Цитировать Сообщить модератору
 Re: Обновление SQL поискового запроса из LIKE в FREETEXT  [new]
Glory
Member

Откуда:
Сообщений: 104751
Ser.k
то выдает

Кто выдает то ?
15 апр 15, 12:39    [17517682]     Ответить | Цитировать Сообщить модератору
 Re: Обновление SQL поискового запроса из LIKE в FREETEXT  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Ser.k
Если данную конструкцию

where freetext(Family,@family),

то выдает (Конструкция или Оператор SQL @family не поддерживается)


А это значит проходит там же в тех же условиях?

WHERE (Family LIKE @family + '%')
15 апр 15, 12:39    [17517683]     Ответить | Цитировать Сообщить модератору
 Re: Обновление SQL поискового запроса из LIKE в FREETEXT  [new]
Ser.k
Member

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

Построитель запросов VS 2012
15 апр 15, 12:41    [17517705]     Ответить | Цитировать Сообщить модератору
 Re: Обновление SQL поискового запроса из LIKE в FREETEXT  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Ser.k
Glory,

Построитель запросов VS 2012


имхую, что вы заблуждаетесь, если считаете, что вам удастся не вникать в SQL и T-SQL запросы, а обходится чудом типа визарда и т.д.
15 апр 15, 12:43    [17517715]     Ответить | Цитировать Сообщить модератору
 Re: Обновление SQL поискового запроса из LIKE в FREETEXT  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
А чем LIKE в этом запросе не устроил?
15 апр 15, 12:45    [17517751]     Ответить | Цитировать Сообщить модератору
 Re: Обновление SQL поискового запроса из LIKE в FREETEXT  [new]
Glory
Member

Откуда:
Сообщений: 104751
Ser.k
Построитель запросов VS 2012

А сервер тут причем ?
15 апр 15, 12:46    [17517767]     Ответить | Цитировать Сообщить модератору
 Re: Обновление SQL поискового запроса из LIKE в FREETEXT  [new]
Ser.k
Member

Откуда:
Сообщений: 8
Winnipuh
Ser.k
Если данную конструкцию

where freetext(Family,@family),

то выдает (Конструкция или Оператор SQL @family не поддерживается)


А это значит проходит там же в тех же условиях?

WHERE (Family LIKE @family + '%')



Что значит в тех же условиях?

этот запрос WHERE (Family LIKE @family + '%'). работает


и так
where freetext(Family,'TEXT') работает.
15 апр 15, 12:47    [17517774]     Ответить | Цитировать Сообщить модератору
 Re: Обновление SQL поискового запроса из LIKE в FREETEXT  [new]
Konst_One
Member

Откуда:
Сообщений: 11621
https://msdn.microsoft.com/ru-ru/library/ms176078.aspx

USE AdventureWorks2012;
GO
DECLARE @SearchWord nvarchar(30);
SET @SearchWord = N'high-performance';
SELECT Description 
FROM Production.ProductDescription 
WHERE FREETEXT(Description, @SearchWord);


Сравнение предиката LIKE с полнотекстовым поиском
В отличие от полнотекстового поиска предикат LIKE Transact-SQL работает только с комбинациями символов. Кроме того, предикат LIKE нельзя использовать в запросах к форматированным двоичным данным. Более того, запрос с предикатом LIKE к большому количеству неструктурированных текстовых данных выполняется гораздо медленнее, чем эквивалентный полнотекстовый запрос к тем же данным. Выполнение запроса LIKE к миллионам строк текстовых данных может занять несколько минут, в то время как полнотекстовый запрос к тем же данным занимает всего несколько секунд или даже меньше, в зависимости от количества возвращаемых строк.
15 апр 15, 12:47    [17517775]     Ответить | Цитировать Сообщить модератору
 Re: Обновление SQL поискового запроса из LIKE в FREETEXT  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Konst_One,

если по Family есть индекс, то показанный LIKE не так уж и плох, а?
15 апр 15, 12:51    [17517810]     Ответить | Цитировать Сообщить модератору
 Re: Обновление SQL поискового запроса из LIKE в FREETEXT  [new]
Konst_One
Member

Откуда:
Сообщений: 11621
iap
Konst_One,

если по Family есть индекс, то показанный LIKE не так уж и плох, а?


+1 с этим согласен
я дал ТС ссылку на почитать и подумать
15 апр 15, 12:52    [17517818]     Ответить | Цитировать Сообщить модератору
 Re: Обновление SQL поискового запроса из LIKE в FREETEXT  [new]
Ser.k
Member

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


Нет LIKE не подходит одна из функции поиск по номеру авто, а в базе в одной строке записано ( Lada х0001хх) и like не находит
15 апр 15, 12:57    [17517881]     Ответить | Цитировать Сообщить модератору
 Re: Обновление SQL поискового запроса из LIKE в FREETEXT  [new]
Glory
Member

Откуда:
Сообщений: 104751
Ser.k
Нет LIKE не подходит одна из функции поиск по номеру авто, а в базе в одной строке записано ( Lada х0001хх) и like не находит

А вы знаете такой LIKE - Family LIKE '%' + @family + '%' ?
15 апр 15, 12:59    [17517903]     Ответить | Цитировать Сообщить модератору
 Re: Обновление SQL поискового запроса из LIKE в FREETEXT  [new]
Konst_One
Member

Откуда:
Сообщений: 11621
Ser.k
iap,


Нет LIKE не подходит одна из функции поиск по номеру авто, а в базе в одной строке записано ( Lada х0001хх) и like не находит


мда уж

... LIKE '%0001%'
15 апр 15, 12:59    [17517910]     Ответить | Цитировать Сообщить модератору
 Re: Обновление SQL поискового запроса из LIKE в FREETEXT  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
[url=]like '%[a-Z][0123456789][0123456789][0123456789][a-Z][a-Z]%'[/url]
в номерных знакая как я помню все буквы латинского алфавита идут
15 апр 15, 13:03    [17517947]     Ответить | Цитировать Сообщить модератору
 Re: Обновление SQL поискового запроса из LIKE в FREETEXT  [new]
Ser.k
Member

Откуда:
Сообщений: 8
Konst_One
https://msdn.microsoft.com/ru-ru/library/ms176078.aspx

USE AdventureWorks2012;
GO
DECLARE @SearchWord nvarchar(30);
SET @SearchWord = N'high-performance';
SELECT Description 
FROM Production.ProductDescription 
WHERE FREETEXT(Description, @SearchWord);


Сравнение предиката LIKE с полнотекстовым поиском
В отличие от полнотекстового поиска предикат LIKE Transact-SQL работает только с комбинациями символов. Кроме того, предикат LIKE нельзя использовать в запросах к форматированным двоичным данным. Более того, запрос с предикатом LIKE к большому количеству неструктурированных текстовых данных выполняется гораздо медленнее, чем эквивалентный полнотекстовый запрос к тем же данным. Выполнение запроса LIKE к миллионам строк текстовых данных может занять несколько минут, в то время как полнотекстовый запрос к тем же данным занимает всего несколько секунд или даже меньше, в зависимости от количества возвращаемых строк.



Если побывать так

DECLARE @SearchWord nvarchar(30);
SET @SearchWord = N'high-performance';
SELECT Description
FROM Production.ProductDescription
WHERE FREETEXT(Description, @SearchWord);, то выдает

Конструкция или Оператор Объявить не поддерживается
15 апр 15, 13:04    [17517949]     Ответить | Цитировать Сообщить модератору
 Re: Обновление SQL поискового запроса из LIKE в FREETEXT  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Maxx
like '%[a-Z][0123456789][0123456789][0123456789][a-Z][a-Z]%'
в номерных знакая как я помню все буквы латинского алфавита идут
15 апр 15, 13:04    [17517954]     Ответить | Цитировать Сообщить модератору
 Re: Обновление SQL поискового запроса из LIKE в FREETEXT  [new]
Konst_One
Member

Откуда:
Сообщений: 11621
что выдаёт и где?
у вас на сервере FULLTEXT search включен?
15 апр 15, 13:05    [17517960]     Ответить | Цитировать Сообщить модератору
 Re: Обновление SQL поискового запроса из LIKE в FREETEXT  [new]
Glory
Member

Откуда:
Сообщений: 104751
Ser.k
Конструкция или Оператор Объявить не поддерживается

Еще раз. Это не проблема сервера. Это ваша проблема. Не программируйте мышкой в построителях - пишите прямой код.
15 апр 15, 13:06    [17517967]     Ответить | Цитировать Сообщить модератору
 Re: Обновление SQL поискового запроса из LIKE в FREETEXT  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Konst_One
что выдаёт и где?
у вас на сервере FULLTEXT search включен?

да он построителем запросов пользуеться...из студии хрен ее знает где она глючит
15 апр 15, 13:06    [17517973]     Ответить | Цитировать Сообщить модератору
 Re: Обновление SQL поискового запроса из LIKE в FREETEXT  [new]
Ser.k
Member

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

visual studio 2012

DataSet

Построитель запросов
15 апр 15, 13:07    [17517981]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить