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