2014-11-04 51 views

回答

1

precision modifier of the timestamp type是类型名称的一部分,无法在普通SQL中进行参数化。这不是一个函数,即使括号中的语法看起来相同。

您将需要动态SQL。在PL/pgSQL函数中,将该语句构建为字符串并使用EXECUTE运行它。喜欢的东西:

EXECUTE 'SELECT col::timestamp(' || $1 || ')' 
INTO my_var; 

$1integer类型。不是像text这样的字符串类型,或者您有可能的SQL注入漏洞。