oh my friend, you're using text datatype. That's not good. are you using SQL 2005? If so, then I urge you to change it to varchar(max) in order to avoid yourself lots of trouble in the future. If you're using SQL 2000, then definitively consider varchar(8000). In the mean time, we can try with "like" operator instead
1: 2: 3:
select a.* from payment a inner join notesTEST b on a.id = b.CUSTOMER_id and dateadd(d, datediff(d, 0, a.[date]), 0) >= dateadd(d, datediff(d, 0, b.[date]), 0) and b.notes like '%' + cast(abs(A.value) as varchar) + '%'