0
我使用SQL在PostgreSQL中timestamp()不把函数参数作为输入?
cast(col as timestamp($1))
它给了我周围的参数
在SQL工作错误,当我直接给出数:
cast(col as timestamp(1))
所以时间戳不带函数参数?
我使用SQL在PostgreSQL中timestamp()不把函数参数作为输入?
cast(col as timestamp($1))
它给了我周围的参数
在SQL工作错误,当我直接给出数:
cast(col as timestamp(1))
所以时间戳不带函数参数?
precision modifier of the timestamp
type是类型名称的一部分,无法在普通SQL中进行参数化。这不是一个函数,即使括号中的语法看起来相同。
您将需要动态SQL。在PL/pgSQL函数中,将该语句构建为字符串并使用EXECUTE
运行它。喜欢的东西:
EXECUTE 'SELECT col::timestamp(' || $1 || ')'
INTO my_var;
$1
是integer
类型。不是像text
这样的字符串类型,或者您有可能的SQL注入漏洞。