关于java:Postgres数据类型转换

Postgres data type cast

我的数据库是Postgres 8.我需要将数据类型转换为另一个。 这意味着,列数据类型之一是varchar,需要在SELECT语句中将其与Postgres一起转换为int

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


1
cast(varchar_col AS int)  -- SQL standard

要么

1
varchar_col::int          -- Postgres syntax shorthand

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

  • PostgreSQL:在所有表字段的长度上创建索引

还有两个变种:

1
2
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[])

手册中的详细信息在此处和此处。

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