【发布时间】:2017-04-18 02:31:24
【问题描述】:
我试图从表名的 int 元素中的 0-7 位置获取子字符串,所以当我插入时
select substring(column_name,0, 6) as new_name from table_name
我来了
SQL 错误 [42883]:错误:函数 pg_catalog.substring(bigint, integer, integer) 不存在
提示:没有函数匹配给定的名称和参数类型。你 可能需要添加显式类型转换。
位置:8
org.postgresql.util.PSQLException:错误:函数 pg_catalog.substring(bigint, integer, integer) 不存在
提示:没有函数匹配给定的名称和参数类型。你 可能需要添加显式类型转换。位置:8
所以在向 varchar(8) 添加了一些强制转换之后
select substring(varchar(8),column_name,0, 6) as new_name from table_name
得到这个
SQL 错误 [42601]:错误:“,”位置或附近的语法错误:28
org.postgresql.util.PSQLException:错误:“,”或附近的语法错误 职位:28
我不知道我做错了什么。谢谢。
【问题讨论】:
-
函数没有标准化,每个数据库可以有不同的,而且通常都有。你的标签说的是 dbeaver 而不是 postgres