"Better" in what sense? 

The `LIKE` version is sargable as you have no leading wildcards and can use index seeks so that is better in that respect.

If you have no useful index you might prefer just using

    SELECT * FROM 
    TableA
    WHERE LEFT(acccode,3) IN ('131','141','151','161') 
          OR acccode LIKE '121-111%'

Either way it looks as though there is some meaning buried in `acccode` that might be best storing in a separate column.