我正在尝试将上述脚本从 MySQL 转换为 ORACLE,而我完全是使用 ORACLE 数据库和 PL/SQL 的初学者。我读到 MYSQL 中的 IFNULL 相当于 ORACLE 中的 NVL,但我仍然无法转换超出脚本。请帮忙。
SET @r:=0;
CREATE TABLE COUNTRY_MONDIAL AS
SELECT @r:=@r+1 RowN, @Dtf0:=Dtf0 Dtf0, @Dtf1:=Dtf1 Dtf1,
IFNULL((log(log(@Dtf0)+1)+1),0)*9.531408863445597 +
IFNULL((log(log(@Dtf1)+1)+1),0)*9.531408863445696 Score, Id,ID_CITY, Id, dl
FROM (SELECT PKey, MAX(CASE WHEN WordId=205 THEN Count ELSE 0 END) AS Dtf0,
MAX(CASE WHEN WordId=223 THEN Count ELSE 0 END) AS Dtf1
FROM COUNTRY_I WHERE WordId in (205,223)
GROUP BY PKey HAVING Dtf0>0 OR Dtf1>0) Cnt, COUNTRY T1
WHERE Cnt.PKey = Id
ORDER BY Score DESC;
提前致谢。