What is the object
um in your code, as it's not defined in the SQL snippet you have given us. Ideally, however, you should be trying to fix the design; storing delimited data means you don't have any foreign key constraints, nor (likely) any validation on the value(s) in the column; so your
CAST([value] AS int) could easily fail as some (foolishly) inserted the value
Separate question, why the
NOLOCK here as well? If you have performance issue, I would be looking to fix those.
NOLOCK isn't a "magic go faster button", and it can make the results you get unreliable. Are you happy with such results?
Excuse my typos and sometimes awful grammar. My fingers work faster than my brain does.