Probably, it's the "a.m." part of your date / time value.
I'm pretty sure you aren't entering that query manually, but from an application - so change the application to pass the DateTime value directly. If you don't, then when you change "a.m." to "am" or "AM" then you are likely to meet your next problem:
The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.
Because SQL assumes US format dates rather than European, and treats "16" as the month number.
Always pass validated data in storable form to SQL - numbers as integer or float values, dates as DateTime values - as parameters instead of concatenating strings: it's a lot safer, and it reduces the chance of errors in conversion.