我可以在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] 删除。
我来说两句