相同 SQL Server 2012 是否允许向后的 SQL 语法取决于正在使用的数据库?

Same SQL Server 2012 tolerates backward SQL syntax depending on which database is in use?

我遇到过 SQL Server 2012 似乎可以容忍 SQL 语法的情况,例如用于将 DATETIME 添加到 DATE(请参阅 here),具体取决于正在使用的数据库。

可能是这种情况吗?如果是的话,是什么决定了同一服务器在这种情况下可以容忍的向后兼容性的数量。例如,它是否取决于最初创建数据库的人(哪个服务器)?

SQL 服务器功能不仅受软件版本控制,还受兼容级别系统参数控制。使用正确的兼容级别,新软件可以像旧软件一样运行。 (Microsoft 还没有想出如何让旧软件像新软件一样工作;也许他们正在努力。;)

因此,当事情不起作用但应该起作用时,这是首先要怀疑的事情之一。有关设置和更改设置的更多信息,请参阅 documentation