sqlserver 自定义函数或存储过程转 postgresql

nvarchar要修改为varchar

postgresql的body需要$$ …. $$包含起来

postgresql 只需要一对BEGIN END,条件和while循环不需要BEGIN和END

变量需要去掉@, @b -> b;

没有isnull 用 coalesce

字符串拼接用 ||

字符串类型和int类型不会自动转换(用作条件时)

没有charindex,用strpos (原字符串,需要查找的)

没有getdate() 用 LOCALTIMESTAMP(0) 代替 参数指秒以下取几位

SET @len=@len+1要修改为 len = len + 1

break修改为exit

CHAR(10) 类型要改为CHR(10)

postgresql的条件和循环 不需要BEGIN和END 嵌套, 条件和循环的语法也和sqlserver有所不同:

 
1、条件
IF ... THEN ... END IF
IF ... THEN ... ELSE ... END IF
IF ... THEN ... ELSIF ... THEN ... ELSE ... END IF

CASE ... WHEN ... THEN ... ELSE ... END CASE
CASE WHEN ... THEN ... ELSE ... END CASE
 
2、循环
LOOP
[<>]
LOOP
...
IF ... THEN
CONTINUE [label] [WHEN boolean-expression];
END IF;
EXIT [label] [WHEN boolean-expression];
END LOOP [label];


WHILE
[<>]
WHILE boolean-expression LOOP
...
END LOOP [label];


FOR
[<>]
FOR name IN [REVERSE] expression .. expression [BY expression] LOOP
...
END LOOP [label];

关注公众号“大模型全栈程序员”回复“小程序”获取1000个小程序打包源码。更多免费资源在http://www.gitweixin.com/?p=2627

发表评论

邮箱地址不会被公开。 必填项已用*标注