私のデータベースはPostgres 8です。データ型を別の型にキャストする必要があります。つまり、列データ型の1つはvarchar
であり、int
ステートメントでPostgresを使用してSELECT
にキャストする必要があります。
現在、文字列値を取得し、Javaでint
にキャストしています。
それを行う方法はありますか?サンプルコードをいただければ幸いです。
cast(varchar_col AS int) -- SQL standard
または
_varchar_col::int -- Postgres syntax shorthand
_
これらの構文バリアントは有効です(ほぼ)anywhere。 2番目の例では、特別な状況で括弧をネストする必要があります。
さらに2つのバリアントがあります。
_int4(varchar_col) -- only works for some type names
int '123' -- must be an untyped, quoted string literal
_
書き方に注意してください_int4
__(varchar_col)
_それは内部タイプ名であり、それに定義された関数もあります。として機能しません または integer()
。int()
最後の形式はarrayタイプでは機能しないことにも注意してください。 _ _int[] '{1,2,3}'
_'{1,2,3}'::int[]
_またはcast('{1,2,3}' AS int[])
でなければなりません。
integer
に対して有効であるためには、文字列はオプションの先行符号(_+
_/_-
_)とそれに続く数字のみで構成されている必要があります。前後の空白は無視されます。