[COLOR=green]---set up for test search
[/color][COLOR=blue]declare[/color] @column [COLOR=blue]varchar[/color](1000), @search [COLOR=blue]varchar[/color](200)
[COLOR=blue]set[/color] @column = [COLOR=red]'The music companies, facing a long-term decline in sales, had resisted freeing up their digital songs from restrictions because they were afraid consumers would make numerous copies that would deprive the companies and their recording artists of revenue.'[/color]
[COLOR=blue]set[/color] @search = [COLOR=red]'they were afraid'[/color]
[COLOR=blue]select[/color] [COLOR=#FF00FF]charindex[/color]([COLOR=red]' '[/color], @column, 150)
[COLOR=green]---search for whole words starting from 50 characters back of search string start (start from next space)
[/color][COLOR=green]---this will count 150 characters ahead from start (+ however far it needs to go to find a word break)
[/color][COLOR=blue]select[/color] [COLOR=#FF00FF]substring[/color](
@column
, [COLOR=blue]case[/color] [COLOR=blue]when[/color] [COLOR=#FF00FF]charindex[/color](@search, @column) < 50
[COLOR=blue]then[/color] 0
[COLOR=blue]else[/color] [COLOR=#FF00FF]charindex[/color](@search, @column) - 50
+ [COLOR=#FF00FF]charindex[/color]([COLOR=red]' '[/color], [COLOR=#FF00FF]substring[/color](@column, [COLOR=#FF00FF]charindex[/color](@search, @column) - 50, len(@column)))
[COLOR=blue]end[/color]
, [COLOR=blue]case[/color] [COLOR=blue]when[/color] [COLOR=#FF00FF]charindex[/color](@search, @column) < 50
[COLOR=blue]then[/color] [COLOR=#FF00FF]charindex[/color]([COLOR=red]' '[/color], @column, 150)
[COLOR=blue]else[/color] 150 + [COLOR=#FF00FF]charindex[/color]([COLOR=red]' '[/color], [COLOR=#FF00FF]substring[/color](@column,
[COLOR=#FF00FF]charindex[/color](@search, @column) - 50
+ [COLOR=#FF00FF]charindex[/color]([COLOR=red]' '[/color], [COLOR=#FF00FF]substring[/color](@column, [COLOR=#FF00FF]charindex[/color](@search, @column) - 50, len(@column)))
, len(@column)), 150)
[COLOR=blue]end[/color])
[COLOR=green]--print the same thing for easy reading
[/color][COLOR=blue]print[/color] [COLOR=#FF00FF]substring[/color](
@column
, [COLOR=blue]case[/color] [COLOR=blue]when[/color] [COLOR=#FF00FF]charindex[/color](@search, @column) < 50
[COLOR=blue]then[/color] 0
[COLOR=blue]else[/color] [COLOR=#FF00FF]charindex[/color](@search, @column) - 50
+ [COLOR=#FF00FF]charindex[/color]([COLOR=red]' '[/color], [COLOR=#FF00FF]substring[/color](@column, [COLOR=#FF00FF]charindex[/color](@search, @column) - 50, len(@column)))
[COLOR=blue]end[/color]
, [COLOR=blue]case[/color] [COLOR=blue]when[/color] [COLOR=#FF00FF]charindex[/color](@search, @column) < 50
[COLOR=blue]then[/color] [COLOR=#FF00FF]charindex[/color]([COLOR=red]' '[/color], @column, 150)
[COLOR=blue]else[/color] [COLOR=#FF00FF]charindex[/color]([COLOR=red]' '[/color], [COLOR=#FF00FF]substring[/color](@column,
[COLOR=#FF00FF]charindex[/color](@search, @column) - 50
+ [COLOR=#FF00FF]charindex[/color]([COLOR=red]' '[/color], [COLOR=#FF00FF]substring[/color](@column, [COLOR=#FF00FF]charindex[/color](@search, @column) - 50, len(@column)))
, len(@column)), 150)
[COLOR=blue]end[/color])