That sounds odd. The way it works is this:
1) If the input is entirely numeric, it will look for the post with that exact ID.
2) If the input is not entirely numeric (for instance "100,200"), it will look for all posts with those IDs (in this example, 100 and 200).
In either case, it is an exact match (not a "like" match). However, the ID criteria is appended to the query, which may explain why you're seeing that behaviour. For instance, if you're filtering by post status and have entered an ID at the same time, the actual query will look something like this:
select .. from .. where post_status = [status] or ID = [id]
Or perhaps you have other active plugins that alters the query in some way?