PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Perbaiki:“operator tidak ada:integer || integer” di PostgreSQL

Jika Anda mendapatkan "operator tidak ada:integer || integer” di PostgreSQL, mungkin karena Anda mencoba menggabungkan dua angka.

Jika Anda benar-benar ingin menggabungkan dua angka, cara termudah untuk mengatasi masalah ini adalah dengan mentransmisikan setidaknya salah satunya ke tipe data string terlebih dahulu.

Cara lain untuk melakukannya adalah dengan menggunakan CONCAT() fungsi.

Contoh Kesalahan

Berikut contoh kode yang menyebabkan kesalahan ini:

SELECT 123 || 456;

Hasil:

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.

Solusi 1

Berikut cara cepat untuk mengatasi masalah ini:

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

Hasil:

123456

Meskipun benar bahwa kita bisa memasukkan kedua angka ke string, itu tidak perlu. Selama salah satu operan adalah string, operator penggabungan pipa akan dapat menggabungkannya.

Solusi 2

Cara lain untuk melakukannya adalah dengan menggunakan CONCAT() fungsi untuk melakukan penggabungan:

SELECT CONCAT(123, 456);

Hasil:

123456

Fungsi ini bekerja pada angka tanpa perlu mengonversinya menjadi string. Fungsi ini secara otomatis melakukan ini (menggabungkan representasi teks dari argumennya secara default).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana tidak membangun ekstensi PostgreSQL 9.0 pada platform RPM

  2. Bagaimana cara mencatat kueri PostgreSQL?

  3. Kolom MySQL dengan DEFAULT NULL - pilihan gaya, atau bukan?

  4. Mengukur Statistik Pos Pemeriksaan PostgreSQL

  5. Bagaimana cara menambahkan jumlah hari kerja ke tanggal tertentu