SQL数据库之间的差异列表

发布于 2024-12-06 05:18:50 字数 646 浏览 1 评论 0原文

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

  1. 该标准含糊不清,导致某些区域有待解释(例如:应如何处理 NULL 的不同操作不明确)

  2. 一些供应商完全违背标准或只是缺乏标准定义的功能(例如:MySQL 有一个差异列表标准及其实施)

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

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

当您尝试编写与多个数据库兼容的内容时,是否有一个资源包含了需要注意的怪癖和陷阱的完整列表?

Most SQL databases follow the ANSI SQL standards to a degree, but

  1. The standard is ambiguous, leaving some areas open to interpretation (eg: how different operations with NULLs should be handled is ambiguous)

  2. Some vendors contradict the standard outright or just lack functionality defined by the standard (eg: MySQL has a list of differences between the standard and their implementation)

  3. Some databases will behave differently depending on how they are configured, but configuration can be changed to have them behave the same way (eg: Oracle performs case-sensitive string comparisons by default, while SQL Server does them case-insensitve)

  4. There is some functionality that is not part of the standard but is implemented by different RDBMSs anyway, albeit with different names (eg: Oracle's LISTAGG = MySQL's GROUP_CONCAT)

Is there a resource with a comprehensive list of quirks and gotchas to pay attention to when you are trying to write something that is supposed to be compatible with multiple databases?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

好菇凉咱不稀罕他 2024-12-13 05:18:50

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

I'm not sure how comprehensive this list is, but maybe this will help -
http://troels.arvin.dk/db/rdbms/

情深缘浅 2024-12-13 05:18:50

除了已经提到的一些您可以在 维基百科

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

Except of already mentioned some comparison you can find in Wikipedia

Also similar question was already posted on Stackoverflow where you can fin a couple of useful links.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文