Использование LIKE с внутренним языком в SQL - PullRequest
0 голосов
/ 23 ноября 2011

Я использую базу данных SQL Server, и я храню Malayalam имен в своих таблицах.Я просто хочу написать запрос для фильтрации имен, используя некоторые слова малаялам.

SELECT * FROM table WHERE mal_Name LIKE '@word%'

@word содержат Malayalam words.

Как мне этого добиться?Пожалуйста, поделитесь любыми идеями.

РЕДАКТИРОВАТЬ

This is my table, rm_Malayalam_name contains Malayalam name

Это моя таблица, rm_Malayalam_name содержит имя малаялам.И мой запрос

SELECT * 
FROM Purchase.tblRawMaterials 
WHERE rm_malayalam_name LIKE '%കദളിപഴം%'

Это не работает.Запись есть, но при выполнении этого запроса ничего не отображается

Ответы [ 2 ]

3 голосов
/ 23 ноября 2011

Вы имеете в виду, что хотите сделать что-то вроде SELECT * FROM table WHERE mal_Name LIKE '%'+@word+'%'

Это будет работать, если @Word - одно слово, однако если вы хотите взять несколько слов, вам понадобится что-то более сложное.

UPDATE: Увидев ваши новые правки, я подозреваю, что причина, по которой они не выбираются, связана с кодировкой

Попробуйте SELECT * FROM table WHERE mal_Name LIKE N'%'+@word+'%'

или

select * from Purchase.tblRawMaterials where rm_malayalam_name like N'%കദളിപഴം%'
0 голосов
/ 23 ноября 2011

Я бы посоветовал прочесть полнотекстовый поиск в SQL Это почти наверняка будет более эффективным, чем LIKE '%word%'

Сколько слов вы будете искать?Насколько велика колонна?Эти факторы могут повлиять на лучший вариант.

...