31

大多数 SQL 数据库在一定程度上遵循 ANSI SQL 标准,但是

  1. 该标准是模棱两可的,留下了一些可以解释的领域(例如:不同的操作NULLs应该如何处理是模棱两可的

  2. 一些供应商完全与标准相矛盾,或者只是缺少标准定义的功能(例如:MySQL列出了标​​准与其实现之间的差异)

  3. 一些数据库的行为会根据它们的配置方式而有所不同,但可以更改配置以使它们的行为方式相同(例如:Oracle 默认执行区分大小写的字符串比较,而 SQL Server 则不区分大小写)

  4. 有一些功能不是标准的一部分,但无论如何都由不同的 RDBMS 实现,尽管名称不同(例如:Oracle's LISTAGG= MySQL's GROUP_CONCAT

当您尝试编写应该与多个数据库兼容的东西时,是否有一个包含完整列表的怪癖和陷阱的资源?

4

2 回答 2

5

我不确定这个列表有多全面,但也许这会有所帮助 - http://troels.arvin.dk/db/rdbms/

于 2016-12-06T16:53:53.317 回答
1

除了已经提到的一些比较,您可以在Wikipedia中找到

Stackoverflow上也已经发布了类似的问题,您可以在其中找到一些有用的链接。

于 2016-12-07T15:24:56.603 回答