我的数据库是Postgres8。我需要将数据类型转换为另一个。这意味着column数据类型之一是varchar并且需要int在SELECT语句中将其与Postgres一起转换。
varchar
int
SELECT
当前,我获取字符串值并将其转换int为Java语言。 有什么办法吗?示例代码将不胜感激。
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()
int4
(varchar_col)
integer()
int()
还请注意,最后一种形式不适用于 数组 类型。 int[] '{1,2,3}' 必须为'{1,2,3}'::int[]或cast('{1,2,3}' AS int[])。
int[] '{1,2,3}'
'{1,2,3}'::int[]
cast('{1,2,3}' AS int[])
此处 和 此处 的手册中的详细信息。
为了integer使字符串有效,字符串必须包含一个可选的前导符号(+/ -),后跟数字。前导/尾随空白将被忽略。
integer
+
-