Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations MikeeOK on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Using Full Text Search Terms with Spaces

Status
Not open for further replies.

murphyhg

Technical User
Mar 1, 2006
98
US
When I try and do a full text search term with spaces like this exec usp_PrimarySearch 'Tech terms'
I get this error
Msg 7630, Level 15, State 3, Procedure usp_PrimarySearch, Line 16
Syntax error near 'terms' in the full-text search condition 'Tech terms'.

How can I fix this?
Code:
ALTER PROCEDURE [dbo].[usp_PrimarySearch] 
	-- Add the parameters for the stored procedure here
@TXTSEARCH varchar(255)
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

    -- Insert statements for procedure here
	SELECT DISTINCT A.ID AS ACTICLEID, A.KEYWORDS AS KEYWORD, A.BYPASSURL, A.SUMMARY, A.TITLE,
	(SELECT ART_NAME FROM DBO.WhichArtType(B.ART_TYPES)) AS ART_TYPES ,(SELECT TIER FROM dbo.whichTier(A.ID)) AS TIER,
	(SELECT TIER_ID FROM dbo.whichTierID(A.ID)) AS TIER_ID, (SELECT PUBDATE FROM dbo.whichPubDate(A.ID)) AS PubDate,
	(SELECT EXPDATE FROM dbo.whichExpDate(A.ID)) AS ExpDate, (SELECT ARTSTATUS FROM dbo.whichArtStatus(A.ID)) AS ArtStatus,
	(SELECT URL FROM dbo.getQuickSearch((SELECT TOP 1 TIER_ID FROM dbo.whichTierID(A.ID)), (SELECT TOP 1 TIER FROM dbo.whichTier(A.ID))))+CAST(A.ID AS VARCHAR(10)) AS URL
	FROM ARTICLES A INNER JOIN ARTICLEMATRIX B ON A.ID = B.ART_ID
	WHERE CONTAINS ((A.KEYWORDS,A.SUMMARY,A.TITLE,A.CONTENT), @TXTSEARCH)
	AND (PUBDATE   <= { fn NOW() }) AND (EXPDATE >= { fn NOW() })
	ORDER BY ART_TYPES
END
 
I think that I figured out how to do this. This is the solution that I came up with.
Code:
ALTER PROCEDURE [dbo].[usp_PrimarySearch] 
	-- Add the parameters for the stored procedure here
@TXTSEARCH varchar(255)
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;
	set @TXTSEARCH = char(34)+ @TXTSEARCH +char(34)
    -- Insert statements for procedure here
	SELECT DISTINCT A.ID AS ACTICLEID, A.KEYWORDS AS KEYWORD, A.BYPASSURL, A.SUMMARY, A.TITLE,
	(SELECT ART_NAME FROM DBO.WhichArtType(B.ART_TYPES)) AS ART_TYPES ,(SELECT TIER FROM dbo.whichTier(A.ID)) AS TIER,
	(SELECT TIER_ID FROM dbo.whichTierID(A.ID)) AS TIER_ID, (SELECT PUBDATE FROM dbo.whichPubDate(A.ID)) AS PubDate,
	(SELECT EXPDATE FROM dbo.whichExpDate(A.ID)) AS ExpDate, (SELECT ARTSTATUS FROM dbo.whichArtStatus(A.ID)) AS ArtStatus,
	(SELECT URL FROM dbo.getQuickSearch((SELECT TOP 1 TIER_ID FROM dbo.whichTierID(A.ID)), (SELECT TOP 1 TIER FROM dbo.whichTier(A.ID))))+CAST(A.ID AS VARCHAR(10)) AS URL
	FROM ARTICLES A INNER JOIN ARTICLEMATRIX B ON A.ID = B.ART_ID
	WHERE CONTAINS ((A.KEYWORDS,A.SUMMARY,A.TITLE,A.CONTENT), @TXTSEARCH)
	AND (PUBDATE   <= { fn NOW() }) AND (EXPDATE >= { fn NOW() })
	ORDER BY ART_TYPES
END
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top