Hey @rmaziwis
The issue here is, that the Search function works with the substrings as well, since 2 is available in the dates as well as part of the year, it is returning you the results.
To resolve this, can you try to update the expression to use startsWith function as:
SortByColumns(Filter(AddColumns('[rp].[Form InjuriesOnDutyF]',"TextId",Text(Id),"TextDate and time if incident",Text('Date and time of incident')),StartsWith(Siteofincident, txt.InjuriesOnDuty.Text) || StartsWith(StatusOfincident, txt.InjuriesOnDuty.Text) || StartsWith(COIDclaimnumber, txt.InjuriesOnDuty.Text) || StartsWith(Nameofinjuredperson, txt.InjuriesOnDuty.Text) || StartsWith(Daysbookedoff, txt.InjuriesOnDuty.Text) || StartsWith(TextId, txt.InjuriesOnDuty.Text) || StartsWith('TextDate and time of incident', txt.InjuriesOnDuty.Text)), "Id", If(ascendingOrder=true,Ascending,Descending))
Hope this Helps!
If this reply has answered your question or solved your issue, please mark this question as answered. Answered questions helps users in the future who may have the same issue or question quickly find a resolution via search. If you liked my response, please consider giving it a thumbs up. THANKS!