это пример, у меня есть динамическая версия этого кода.
Это заставляет меня думать, что вы используете переменную ... Я объясняю, что ниже
Однако этот код работает прекрасно на местном, но не работает в хост!
Этот код не будет предоставлять различные результаты независимо, если вы запустите его в SQL Server 2008, 2012, 2016, и т.д. ...
мой местный Sql Server является 2014 и хост-сервера SQL является 2012
Это не имеет значения, если данные не отличается (не зеркально/реплицировать)
, если этот код не работает на SQL server 2012 какой код я должен использовать для точный поиск?
Вы заявили, что «это не работает». Если вы хотите «точно», то вы используете только оператор =
... не функцию LIKE
.
WHERE TakhfifName = 'keyword'
--or if you have a variable
WHERE TakhfifName = @keyword
Либо вы буквально пытаются искать работу keyword
и, очевидно, не существует, или вы не уверены в том, как правильно использовать LIKE
функцию в SQL Server. Рассмотрим следующие примеры ...
declare @Takhfif table (TakhfifName varchar (64), CityID int)
insert into @Takhfif (TakhfifName, CityID) values
('United States',1),
('China',1),
('Russia',1),
('Brazil',1),
('France',1),
('Japan',2),
('Morocco',2)
--This query will return records where CityID = 1 and the letters ra are located anywhere in the TakhfifName
SELECT *
FROM @Takhfif
WHERE TakhfifName LIKE '%ra%' AND CityID=1
--This query will return records where CityID = 1 and the letter a is located at the END of the name
SELECT *
FROM @Takhfif
WHERE TakhfifName LIKE '%a' AND CityID=1
--This query will return records where CityID = 1 and the letter C is located at the beginning of the name
SELECT *
FROM @Takhfif
WHERE TakhfifName LIKE 'c%' AND CityID=1
-----------------------------------------------------------------------------
--If you want to use these with a variable, you have to use concatonation
-----------------------------------------------------------------------------
declare @variable varchar(16)
set @variable = 'ra'
--This query will return records where CityID = 1 and the letters ra are located anywhere in the TakhfifName
SELECT *
FROM @Takhfif
WHERE TakhfifName LIKE '%' + @variable + '%' AND CityID=1
set @variable = '%a'
--This query will return records where CityID = 1 and the letter a is located at the END of the name
SELECT *
FROM @Takhfif
WHERE TakhfifName LIKE '%' + @variable AND CityID=1
set @variable = 'c%'
--This query will return records where CityID = 1 and the letter C is located at the beginning of the name
SELECT *
FROM @Takhfif
WHERE TakhfifName LIKE @variable + '%' AND CityID=1
Что такое ошибка? – Abhi
удалить двойные кавычки ("). –
oops, то есть для кода C#! –