一尘不染

Postgres数据类型转换

java

我的数据库是Postgres8。我需要将数据类型转换为另一个。这意味着column数据类型之一是varchar并且需要intSELECT语句中将其与Postgres一起转换。

当前,我获取字符串值并将其转换int为Java语言。
有什么办法吗?示例代码将不胜感激。


阅读 198

收藏
2020-09-08

共1个答案

一尘不染

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

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

为了integer使字符串有效,字符串必须包含一个可选的前导符号(+/ -),后跟数字。前导/尾随空白将被忽略。

2020-09-08