私のデータベースはPostgres 8です。データ型を別のものにキャストする必要があります。つまり、列データ型の1つはvarchar
であり、SELECT
ステートメントでPostgresを使用してint
にキャストする必要があります。Postgresデータ型キャスト
現在のところ、文字列値を取得してJavaのint
にキャストします。
これを行う方法はありますか?サンプルコードは高く評価されます。
私のデータベースはPostgres 8です。データ型を別のものにキャストする必要があります。つまり、列データ型の1つはvarchar
であり、SELECT
ステートメントでPostgresを使用してint
にキャストする必要があります。Postgresデータ型キャスト
現在のところ、文字列値を取得してJavaのint
にキャストします。
これを行う方法はありますか?サンプルコードは高く評価されます。
cast(varchar_col AS int) -- SQL standard
または
varchar_col::int -- Postgres syntax shorthand
論文構文バリアント(ほぼ)どこでも有効です。第二の例外:私はint4
(varchar_col)
を書いたか
int4(varchar_col) -- only works for some type names
int '123' -- must be an untyped, quoted string literal
注:
は、さらに2つのバリエーションがあります。これは内部型の名前であり、そのために定義された関数もあります。
または
integer()
として動作しませんでした。int()
integer
に有効な文字列は、任意の先頭の記号(+
/-
)とその後に続く数字で構成する必要があります。先行/後続の空白は無視されます。
*列*が*文字*のデータ型の場合は動作しません –
@AbelMelquiadesCallejo: "それ"とは何ですか?上記のすべては、データ型 'character'(明示的に記載されている場合を除く)で動作します。もちろん、文字列は有効な整数でなければなりません。 –
「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 *バージョンを必ず指定してください。 –