sql >> データベース >  >> RDS >> PostgreSQL

修正:「演算子が存在しません:整数|| PostgreSQLの「整数」

    演算子が存在しません:整数||」を取得した場合PostgreSQLの「整数」エラー。2つの数値を連結しようとしていることが原因である可能性があります。

    本当に2つの数値を連結したい場合、この問題を解決する最も簡単な方法は、最初にそれらの少なくとも1つを文字列データ型にキャストすることです。

    これを行う別の方法は、CONCAT()を使用することです。 機能。

    エラーの例

    このエラーの原因となるコードの例を次に示します。

    SELECT 123 || 456;

    結果:

    ERROR:  operator does not exist: integer || integer
    LINE 1: SELECT 123 || 456;
                       ^
    HINT:  No operator matches the given name and argument types. You might need to add explicit type casts.

    ソリューション1

    この問題を解決する簡単な方法は次のとおりです。

    SELECT CAST(123 AS varchar(3)) || 456;

    結果:

    123456

    両方の数値を文字列にキャストできたのは事実ですが、必須ではありません。オペランドの1つが文字列である限り、パイプ連結演算子はそれらを連結できます。

    ソリューション2

    これを行う別の方法は、CONCAT()を使用することです。 連結を行う関数:

    SELECT CONCAT(123, 456);

    結果:

    123456

    この関数は、数値を文字列に変換しなくても機能します。この関数はこれを自動的に実行します(デフォルトでは、引数のテキスト表現を連結します)。


    1. OracleEXPAND_SQL_TEXTの使用

    2. SQL ServerのDATETIMEタイプで、1/300秒の目盛りで時間を節約できるのはなぜですか?

    3. 複数の外部キーを使用してテーブルを作成し、混乱しないようにする方法

    4. SQLServerのXMLドキュメントでノードの順序を検索する