Postgres数据类型转换

时间:2012-12-03 03:40:29

标签: java sql postgresql casting

我的数据库是Postgres 8.我需要将数据类型转换为另一个。这意味着,其中一列数据类型为varchar,需要使用int声明中的Postgres将其强制转换为SELECT

目前,我获取字符串值并将其转换为Java中的int 有什么办法吗?示例代码将受到高度赞赏。

1 个答案:

答案 0 :(得分:47)

cast(varchar_col AS int)  -- SQL standard

varchar_col::int          -- Postgres syntax shorthand

这些语法变体有效(几乎)任何地方。第二种可能需要在特殊情况下嵌套括号:

还有两个变种:

int4(varchar_col)         -- only works for some type names
int '123'                 -- must be an untyped, quoted string literal

请注意我是如何撰写 int4 (varchar_col)的。这是内部类型名称,还有为其定义的函数。不能用作 integer() int()

另请注意,最后一个表单不适用于数组类型。 int[] '{1,2,3}' 必须为'{1,2,3}'::int[]cast('{1,2,3}' AS int[])

手册herehere中的详细信息。

要对integer有效,字符串必须包含可选的前导符号(+ / -),后跟数字。前导/尾随空格被忽略。