在 MySQL 上得到正确答案,但在 Oracle 上得到错误答案
Posted
技术标签:
【中文标题】在 MySQL 上得到正确答案,但在 Oracle 上得到错误答案【英文标题】:Getting correct answer on MySQL but wrong for Oracle 【发布时间】:2020-05-09 21:16:23 【问题描述】:我正在解决一个关于 SQL 的 HackerRank 问题。 问题是:
*从STATION
查询CITY
名称列表,仅包含偶数ID
数字。您可以按任何顺序打印结果,但必须从答案中排除重复项。
输入格式
STATION
表描述如下:*
Station
我的解决方案是:
SELECT DISTINCT CITY
FROM STATION
WHERE (ID%2)=0
现在对于这个解决方案,我在 mysql 上得到了正确的答案,但在 Oracle 上得到了错误的答案。为什么会这样? 我是 SQL 新手,所以不太了解。
【问题讨论】:
为什么有两个用户投票结束这个问题?我认为它非常清楚并显示出足够的努力,它可能只需要重新措辞,但在这种情况下,最好将其标记为“需要改进”。 【参考方案1】:使用mod()
函数:
SELECT DISTINCT CITY
FROM STATION
WHERE MOD(ID, 2) = 0;
MySQL(和许多数据库)使用%
作为模数函数。为此,Oracle 使用了MOD()
函数。
【讨论】:
以上是关于在 MySQL 上得到正确答案,但在 Oracle 上得到错误答案的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的 Perl 程序在一台机器上得到污染警告,而在另一台机器上却没有?