October 21, 2013 at 5:21 pm
When I try to compare the value of a column to a value represented by a variable using LIKE
EG. where computer_name LIKE ''' & '%' & @realname & '%' & '''
I get error:
--ERROR message
Msg 402, Level 16, State 1, Line 7
The data types varchar and varchar are incompatible in the modulo operator.
I need the modulo to have fuzzy lookup. How to do?
--example
DECLARE @REALNAME varchar(255)
SET @REALNAME = (select top(1) realname from locations where realname like '%ricki ricardo%')
select
computer_name
from computers
where computer_name like ''' + '%' + @realname + '%' + '''
--Quote me
October 21, 2013 at 6:19 pm
Try changing your & to +
My thought question: Have you ever been told that your query runs too fast?
My advice:
INDEXing a poor-performing query is like putting sugar on cat food. Yeah, it probably tastes better but are you sure you want to eat it?
The path of least resistance can be a slippery slope. Take care that fixing your fixes of fixes doesn't snowball and end up costing you more than fixing the root cause would have in the first place.
Need to UNPIVOT? Why not CROSS APPLY VALUES instead?[/url]
Since random numbers are too important to be left to chance, let's generate some![/url]
Learn to understand recursive CTEs by example.[/url]
[url url=http://www.sqlservercentral.com/articles/St
October 21, 2013 at 6:25 pm
sorry, did that. I showed that in second example, but forgot to edit in the first.
--Quote me
October 21, 2013 at 6:38 pm
Firstly, to avoid confusion, % in the way you are using it is not the modulo operator, it is a search wildcard character.
Secondly, I think what you may be trying to do is much harder than you think.
I recall an article about a year back on fuzzy searching. You might want to take a look at that if you can find it. Try a search on "Fuzzy" within articles - a fair number turn up. One of them might help you.
It might also be helpful if you posted some DDL and sample data to show what kind of hits you're wanting to find.
My thought question: Have you ever been told that your query runs too fast?
My advice:
INDEXing a poor-performing query is like putting sugar on cat food. Yeah, it probably tastes better but are you sure you want to eat it?
The path of least resistance can be a slippery slope. Take care that fixing your fixes of fixes doesn't snowball and end up costing you more than fixing the root cause would have in the first place.
Need to UNPIVOT? Why not CROSS APPLY VALUES instead?[/url]
Since random numbers are too important to be left to chance, let's generate some![/url]
Learn to understand recursive CTEs by example.[/url]
[url url=http://www.sqlservercentral.com/articles/St
October 22, 2013 at 11:21 am
OK, I found an entirely different approach to a problem at hand, which eliminates need to compare variable with string.
I appreciate it (as always/over the top!)
--Quote me
Viewing 5 posts - 1 through 4 (of 4 total)
You must be logged in to reply to this topic. Login to reply