你在你最喜欢的数据库中找到了什么怪癖?

时间:2009-11-11 12:31:47

标签: database

问:为什么我们有多个数据库? 答:因为他们都很糟糕。

你最喜欢的数据库的哪个“功能”让你思考(甚至说)“WTF ???”

例如,Oracle不支持TIME作为本机类型。相反,TIME会折叠到DATE,因此您必须在查询中删除。

或“优化器提示”Oracle可以自由忽略。由于它们是作为SQL查询中的注释实现的,因此当您在其中输入拼写错误时,您将不会注意到它们。或者当Oracle忽略它们时。

6 个答案:

答案 0 :(得分:3)

Oracle将空VARCHAR视为NULL,这在我的列表中很高。

答案 1 :(得分:3)

MySQL允许在数据库中存储无效日期,例如00-00-0000。也有人正在使用它。当您尝试在具有适当的本机DateTime类型(如C#)的语言中使用该数据时,无限的欢乐。

答案 2 :(得分:1)

“你最喜欢的数据库中发现了什么怪癖?”

SQL。

但是这个答案有点不诚实,因为当时我在“我最喜欢的数据库”中发现了SQL,我还不知道这是一个怪癖,或者为什么。

答案 3 :(得分:0)

不要真正关心Sybase没有FULL OUTER JOIN这一事实。你必须左/右/ UNION才能得到你想要的东西。呸。

答案 4 :(得分:0)

Oracle对“事务隔离级别== SERIALIZABLE”的解释是在出现问题时抛出异常。而不是使用锁定来防止其他查询影响您感兴趣的相同行,它只是在发生这种情况时抛出异常。因此,您可以再次重新启动(可能是复杂且冗长的)事务。在繁忙的系统中,它可能永远不会完成,因为其他人也在继续使用数据库。真棒。

答案 5 :(得分:0)

您可能对以下内容感兴趣: