all groups > sql server full text search > january 2005 >
You're in the

sql server full text search

group:

Concatenate String and Pass to FORMSOF?


RE: Concatenate String and Pass to FORMSOF? Andy B
1/25/2005 4:03:02 AM
sql server full text search:
Have you tried using a variable

Something like
DECLARE @String varchar(100)

SET @String = 'do' + 'ing'
SET @String = ' FORMSOF (INFLECTIONAL,"' + @String + '")'
--PRINT @String

SELECT ..................................
WHERE CONTAINS(dbo.Dolch.vchWord, @String)

Andy



[quoted text, click to view]
Concatenate String and Pass to FORMSOF? HumanJHawkins
1/25/2005 7:37:29 AM
The following query works perfectly (returning all words on a list called
"Dolch" that do not contain a form of "doing"):

SELECT 'Dolch' AS [List Name], dbo.Dolch.vchWord
FROM dbo.Dolch LEFT OUTER JOIN
dbo.CombinedLexicons ON CONTAINS(dbo.Dolch.vchWord,
'FORMSOF(INFLECTIONAL, "doing")')
WHERE (dbo.CombinedLexicons.vchWord IS NULL)

However, what I really want to do requires me to piece two strings together,
resulting in a word like "doing". Any time I try to concatinate strings to
get this parameter, I get an error.

For example:

SELECT 'Dolch' AS [List Name], dbo.Dolch.vchWord
FROM dbo.Dolch LEFT OUTER JOIN
dbo.CombinedLexicons ON CONTAINS(dbo.Dolch.vchWord,
'FORMSOF(INFLECTIONAL, "do' + 'ing")')
WHERE (dbo.CombinedLexicons.vchWord IS NULL)

I have also tried using & (as in "do' & 'ing") and various forms of single
and double quotes. Does anyone know a combination that will work?

FYI, in case this query looks goofy because of the unused "CombinedLexicons"
table, it is because the end result should be a working form of the
following...
Figuring out the string concatination is just a step toward this goal:

SELECT 'Dolch' AS [List Name], dbo.Dolch.vchWord
FROM dbo.Dolch LEFT OUTER JOIN
dbo.CombinedLexicons ON CONTAINS(dbo.Dolch.vchWord,
'FORMSOF(INFLECTIONAL, ' + dbo.CombinedLexicons.vchWord + ')')
WHERE (dbo.CombinedLexicons.vchWord IS NULL)

Thanks!




Re: Concatenate String and Pass to FORMSOF? Hilary Cotter
1/25/2005 12:52:42 PM
Would this work for you?



declare @string varchar(2000)
declare @searchphrase varchar(200)
set @searchphrase='do ing'
set @string='SELECT [Dolch] AS [List Name], dbo.Dolch.vchWord '
select @string=@string+ ' FROM dbo.Dolch LEFT OUTER JOIN'
select @string=@string+ ' dbo.CombinedLexicons ON
CONTAINS(dbo.Dolch.vchWord,''FORMSOF(INFLECTIONAL, '
select @string=@string +replace(@searchphrase,' ','')
select @string=@string +')'' WHERE (dbo.CombinedLexicons.vchWord IS NULL)'
print @string




--
Hilary Cotter
Looking for a SQL Server replication book?
http://www.nwsu.com/0974973602.html
[quoted text, click to view]

Re: Concatenate String and Pass to FORMSOF? HumanJHawkins
1/27/2005 8:09:10 PM
[quoted text, click to view]

It's taking me a while to see if this will work. Thanks for the suggestion.
It looks like a good path to take.

AddThis Social Bookmark Button