如何在PostgreSQL函数中转换输入参数类型

维沙尔D

我可以在postgresql中声明一个函数,该函数的输入参数将转换传递参数的数据类型。例如:

create or replace function temp(IN var1 integer, IN var2 varchar)
<function body>

select temp('12345','number');

因为传递的参数'12345'是一个字符串,所以我希望它在将其传递给函数时将其直接转换为整数,如下所示:

create or replace function temp(IN var1 ::integer, IN var2 varchar)
    <function body>

可能吗?

注意:在将值传递给以下函数时,我无法转换值:

select temp('12345'::integer,'number');

我必须将其转换为函数定义本身。

劳伦兹·阿尔伯

您可以创建从text到的转换integer,但这不是一个好主意,因为它会导致其他地方出现令人惊讶的行为。

您有两种选择:

  • 在将参数integer传递给函数之前,将其强制转换为。

  • 将参数强制转换为函数integer内部。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章