-
COSH()
--Oracle SELECT COSH(0) FROM dual; --输出 --COSH(0) --__________ -- 1 --postgresql 可通过自定义函数实现该方法 CREATE OR REPLACE FUNCTION cosh(x double precision) RETURNS double precision AS $$ BEGIN RETURN (EXP(x) + EXP(-x)) / 2; END; $$ LANGUAGE plpgsql;
-
NANVL()
--oracle SELECT NANVL(1, 2) FROM dual; --输出 NANVL(1,2) _____________ 1 --postgresql 可通过自定义函数实现 CREATE OR REPLACE FUNCTION nanvl(a numeric, b numeric) RETURNS numeric AS $$ BEGIN IF a IS NULL OR a = 'NaN' THEN RETURN b; ELSE RETURN a; END IF; END; $$ LANGUAGE plpgsql; SELECT nanvl('', 2);
-
REMAINDER()
--oracle SELECT REMAINDER(-10, 3) FROM dual --postgresql 可使用mod()函数代替 SELECT mod(-10, 3)
-
SINH()
--oracle SELECT SINH(2.0) FROM dual; --postgresql 自定义该函数 CREATE OR REPLACE FUNCTION sinh(x numeric) RETURNS numeric AS $$ BEGIN RETURN (EXP(x) - EXP(-x)) / 2; END; $$ LANGUAGE plpgsql; SELECT sinh(2.0);
-
TANH()
--oracle SELECT tanh(2.0) FROM dual; --postgresql 自定义该函数 CREATE OR REPLACE FUNCTION tanh(x numeric) RETURNS numeric AS $$ BEGIN RETURN (EXP(x) - EXP(-x)) / (EXP(x) + EXP(-x)); END; $$ LANGUAGE plpgsql; -- 使用自定义函数计算双曲正切值 SELECT custom_tanh(2.0); -- 返回数值 0.9640275800758169
-
NCHR()
--oracle ELECT nchr(120) FROM dual; --postgresql 使用chr()函数代替 SELECT chr(120);
-
NLS_INITCAP(),NLS_LOWER(),NLS_UPPERR()
-- oracle SELECT NLS_INITCAP('hello world') "NLS_INITCAP('hello world')" FROM dual; SELECT NLS_LOWER('Hello, World') AS lower_text FROM dual; SELECT NLS_UPPER('Hello, World') AS upper_text FROM dual; --postgresql --使用initcap()函数代替 SELECT initcap('hello, world') AS initcap_text; --使用LOWER()函数代替 SELECT LOWER('Hello, World') AS lower_text; --使用UPPER()函数代替 SELECT UPPER('Hello, World') AS upper_text;
还有很多函数整理好后会更新上来
oralce迁移postgresql或OpenGauss(高斯)数据库规则整理
猜你喜欢
转载自blog.csdn.net/qq_52875818/article/details/137116567
今日推荐
周排行