Hi. I’m using DT.SELECT and the LIKE operator - code as follows:
db_in.Select(“VALUE LIKE 1 OR VALUE LIKE 2 OR VALUE LIKE 3”).CopyToDataTable
And I get the Cannot perform ‘Like’ operation on System.String and System.Int32. error message. Any suggestions?
dmccammond
(Derek McCammond)
2
Hello Mickey,
You’re likely going to need to cast either one of them as the other type to make them comparable.
Here’s a link to give you an idea of how to do that: Convert Integer to String in SQL Server
I get what you’re trying to do, but it doesn’t really bring me any closer to a solution. I’m too green to make use of that link.
Deepak94
(Deepak Kolge)
4
@mickeymack
have you tried using db_in.select(“VALUE LIKE ‘%1%’ or VALUE LIKE ‘%2%’ or VALUE LIKE ‘%3%’”)
Hope this will work for you!
bcorrea
(Bruno Correa)
5
what are you trying to accomplish? LIKE operator can only be used with “text” not on numbers…
lakshman
(Ganta lakshman)
6
@mickeymack
It’s due to some syntax error. It should be like this.
db_in.Select(“VALUE LIKE '1%' OR VALUE LIKE '2%' OR VALUE LIKE '3%'”).CopyToDataTable
1 Like
My code is working with numbers, but ok.
AkshaySandhu
(AkshaySingh Sandhu)
8
Hello @mickeymack
When I have to compare (equal comparison) value of a column with multiple values, I use below…
dt.select().where(Function(rw) {"1","2","3"}.Contains(rw("Column1").ToString)
or when I have to check if a column contains multiple values I use below…
dt.select().where(Function(rw) {"1","2","3"}.ToList.Any(Function(val) rw("Column1").ToString.Contains(val))).ToArray.CopyToDataTable