我的數據庫是Postgres 8.我需要將數據類型轉換爲另一個數據類型。這意味着,其中一種列數據類型爲varchar
,需要將它與Postgres在SELECT
語句中一起投射到int
中。Postgres數據類型轉換
目前,我得到字符串值並將其轉換爲Java中的int
。
有什麼辦法可以做到嗎?示例代碼將受到高度讚賞。
我的數據庫是Postgres 8.我需要將數據類型轉換爲另一個數據類型。這意味着,其中一種列數據類型爲varchar
,需要將它與Postgres在SELECT
語句中一起投射到int
中。Postgres數據類型轉換
目前,我得到字符串值並將其轉換爲Java中的int
。
有什麼辦法可以做到嗎?示例代碼將受到高度讚賞。
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()
要對integer
有效,該字符串必須包含一個可選的前導符號(+
/-
),後跟數字只。前導/尾隨白色空間被忽略。
如果*列*是*字符*數據類型 –
@AbelMelquiadesCallejo它不起作用:什麼是「它」?上述所有的數據類型都是'字符'(除非明確指出)。當然,該字符串必須是有效的整數。 –
只是FYI,說「PostgreSQL 8」有點像說「Windows 6」。 Windows XP爲5.1(或x64爲5.2),Vista爲6.0,Windows 7爲6.1。他們都非常不同!這與PostgreSQL一樣。 PostgreSQL 8.0和8.4之間有5年的巨大技術差異,所以請始終指定* full *版本。 –