我想知道你们中是否有人想做以下的事情:我有一个包含一些汽车定义idMode的表,这可能是奥迪100,福特穆斯坦等。然后我有另一个字段,包含汽车和模型的字符串,这可能是“福特野马2.5T",然后我需要从汽车定义中找到正确的ID。我想做
@CarDefintion = "Ford Mustang 2.5T"
Select top 1 CarDefinitionId
from dbo.CarModelDefinition
where CONTAINS(Model,@Cardefinition)
AND Contains(Company, @Cardefinition)但是由于Model + Company并不是唯一的,所以我得到了这样的错误:“不能在表或索引视图'dbo.CarModelDefinition‘上使用CONTAINS或FREETEXT谓词,因为它不是全文索引的。”有人知道我怎么解决这个问题吗?
发布于 2009-05-03 12:39:49
使用LIKE搜索具有通配符列值的字符串。
@CarDefintion = "Ford Mustang 2.5T"
Select top 1 CarDefinitionId
from dbo.CarModelDefinition
where @Cardefinition like '%' + model + '%'
AND @Cardefinition like '%' + company + '%';+是字符串连锁运算符。
发布于 2009-05-03 12:37:28
@CarDefintion = "Ford Mustang 2.5T"
Select top 1 CarDefinitionId
from dbo.CarModelDefinition
where @Cardefinition LIKE Model OR @Cardefinition LIKE Company 发布于 2009-05-03 12:24:11
DECLARE @CarDefintion VARCHAR(25)
SET @CarDefintion = 'Ford Mustang 2.5T'
DECLARE @Make VARCHAR(25)
DECLARE @Model VARCHAR(25)
SELECT @Make = SUBSTRING(@CarDefintion,0,CHARINDEX(' ',REVERSE(@CarDefintion)))
SELECT @Model = LTRIM( REPLACE(@CarDefintion,@Make,''))
--SELECT @Make,@Model
SELECT TOP 1 *
FROM dbo.CarModelDefinition
WHERE Model = @Model
AND Company = @Makehence ()函数用于全文搜索,您很可能没有使用这些函数(因此出现了错误)。
https://stackoverflow.com/questions/816902
复制相似问题