cast(varchar_col AS int) -- SQL standard または
varchar_col::int -- Postgres syntax shorthand これらの構文バリアントは、(ほぼ)どこでも有効です。 。 2つ目は、特別な状況で括弧をネストする必要がある場合があります:
- PostgreSQL:すべてのテーブルフィールドの長さのインデックスを作成します
また、構文制限によって機能表記のみが許可されている場合は、最初のものが必要になる場合があります。
- PostgreSQL-LATERALテーブル関数のCASTと::演算子
さらに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に対して有効であるため 、文字列はオプションの先頭記号( + )で構成されている必要があります /-コード> )の後に数字のみが続きます。先頭/末尾の空白は無視されます。