Postgres 数据类型转换

2022-09-01 04:25:44

我的数据库是Postgres 8。我需要将数据类型转换为另一个。这意味着,列数据类型之一是并且需要在语句中将其转换为Postgres。varcharintSELECT

目前,我获取字符串值并将其转换为Java。
有什么办法可以做到这一点吗?示例代码将不胜感激。int


答案 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的。这是内部类型名称,并且还为它定义了一个函数。不能用作整数()int()。(varchar_col)

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

手册中的详细信息 请点击此处此处

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


答案 2

推荐