PostgreSQLにおけるキャスト

Postgresqlにおけるデータ型のキャスト

データ変換はすべてのプログラミングパラダイムで共通で、特にデータベースでトランザクションを処理するときによく発生します。 他のデータベースと同様に、postgresqlデータベースは、あるデータ型を別のデータ型に変換することができるCAST操作を提供します。 postgresql には、文字列から整数への変換、ブール値への変換、文字列から日付への変換、またその逆の変換など、さまざまなキャスト操作が存在します。 この記事では、postgresql の CAST 演算子の機能を例を用いて説明します。 この演算子を使用する場合、以下の構文が使用されます。

1
CAST (expression AS target_type );

ここで式には定数とテーブル列、特定の値として評価される式が使用されます。 postgresqlにおけるキャスティングのもう1つのバージョンでは、::演算子が使用されます。 この場合の構文は以下の通りです。

1
Expression :: type

ではCAST演算子を使ったいくつかの例を見ていきましょう。

文字列から整数へのキャスト

文字列を整数に変換する場合、次の式を使います

SELECT
CAST (‘500’ AS INTEGER)とします。

1
2

この図は、文字列型 “500” を整数型 500 にキャストしています。 覚えておくべき重要なことの1つは、変換先のデータ型が式と互換性がある場合に変換が成功することです。

PostgresのBooleanへのキャスト

式をBooleanにキャストすることで、論理データ型に変換することができます。 以下は、CAST()関数を使用して文字列、char、integer式をBooleanデータ型にキャストする例です。

1
2
3
4
5
6
7
SELECT
CAST(‘1’ as BOOLEAN),
CAST(‘0’ as BOOLEAN).CAST(‘2’ as BOOLEAN).CAST(‘1’ as BOOLEAN).SELECT(CAST(‘1’ as BOOLEAN))。
CAST(‘true’ AS BOOLEAN),
CAST(‘false’ as BOOLEAN),
CAST(‘T’ as BOOLEAN),
CAST(‘F’ as BOOLEAN);

Postgresql cast timestamp to date

CAST … を使用して特定のタイムスタンプから実際の日付が取得されます。演算子を使用し、タイムスタンプを入力として、::date サフィックスを追加します。

構文は次のとおりです。

1
SELECT 式 ::TIMESTAMP::DATE;

‘2019-07-13 1:20′50 から ‘2019-07-13’ まで抽出したい場合を例にとってみましょう。 私たちの Cast クエリーは、次のとおりとなります。

1
SELECT ‘2019-07-13 1:20:50’::TIMESTAMP::DATE;

ポストgresqlは倍精度から数値にキャストすることが可能です。

倍精度式はfloatデータ型と比較して、より多くの小数点を取ります。 プロセッサ・メモリの場合、倍精度型は最大64ビットのメモリを占有することができます。 倍精度から変換する場合は、四捨五入するのとよく似ています。 しかし、式から正確な結果を得たい場合には、キャストを使用する。

Syntax : SELECT (Double precision :: numeric);SELECT (33.135941093 :: numeric);

別の方法としては、以下に示すようにキャスト()関数を使用することも可能です。

SELECT CAST (Double precision AS numeric)

1
2
SELECT
CAST ( 33.35.135941093 AS numeric)

Postgresql Cast string to a date

次の例は、SQLコマンドSELECTを使って日付への文字列キャストを行っているところです。

1
2
3
select
cast (‘2019-07-14’ as date),
cast (’13-july-2019′ as date).SELECT
キャストは、日付のように文字列をキャストします。

この例では、まず文字列 ‘2019-07-14′ を 2019 年 7 月 14 日に変換し、後半では ’13-JULY-2019’ を 2019 年 7 月 13 日と変換します。

まとめ

いくつかの例とともに、キャスティングのいくつかのテクニックを紹介しました。 これらの例のいずれかが有用であり、学んだことを特定のアプリケーションに適用できることを願っています。

PostgreSQL データベースのセットアップまたは管理について支援が必要な場合は、遠慮なく Object Rocket に連絡して、プロジェクトの詳細について話し合い、支援できるかどうかを判断してください。

コメントを残す

メールアドレスが公開されることはありません。