Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara Mengaktifkan Operator Penggabungan Pipa di MySQL

MySQL mendukung penggunaan operator rangkaian pipa (|| ) untuk menggabungkan operandnya. Namun, Anda harus mengaktifkannya terlebih dahulu.

Secara default, MySQL memperlakukan || sebagai logika OR operator (meskipun perawatan ini saat ini tidak digunakan lagi). Namun, standar ANSI mengharuskan || adalah operator gabungan. Mungkin Anda memiliki kode yang sudah menggunakan operator penyambungan pipa, dan Anda lebih suka tidak melanjutkan dan mengubah kode untuk menggunakan CONCAT() fungsi.

Untungnya, MySQL memberi kita kemampuan untuk menentukan apakah akan memperlakukannya sebagai OR logis operator atau operator gabungan.

Anda dapat mengaktifkan || sebagai operator gabungan dengan menyetel opsi yang berlaku di sql_mode .

Anda memiliki dua opsi:

  • Tambahkan PIPES_AS_CONCAT ke sql_mode . Anda
  • Setel sql_mode ke ANSI .

Opsi 1

Di sini, saya menambahkan PIPES_AS_CONCAT ke sql_mode saya :

SET sql_mode=(SELECT CONCAT(@@sql_mode,',PIPES_AS_CONCAT')); 

Memang benar bahwa saya bisa saja pergi sql_mode = 'PIPES_AS_CONCAT' , tapi saya akan kehilangan semua opsi yang ada. Menggunakan teknik di atas memastikan bahwa saya tidak kehilangan opsi yang ada.

Opsi 2

Cara lain untuk melakukannya adalah dengan mengatur sql_mode ke ANSI :

SET sql_mode='ANSI';

ANSI mode mengubah sintaks dan perilaku agar lebih sesuai dengan SQL standar.

Periksa sql_mode your

Anda dapat memeriksa sql_mode seperti ini:

SELECT @@sql_mode;

Hasil:

REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ONLY_FULL_GROUP_BY,ANSI

Itulah hasil yang saya dapatkan setelah mengubah ke ANSI mode. Kita dapat melihat PIPES_AS_CONCAT termasuk dalam daftar opsi.

Contoh Penggabungan

Setelah mengatur sql_mode menggunakan salah satu teknik di atas, sekarang kita dapat menggunakan || sebagai operator rangkaian pipa:

SELECT 'Homer' || 'Symptom';

Hasil:

HomerSymptom

Jika kami tidak mengaktifkan operator penyambungan pipa, kemungkinan besar kami akan mendapatkan hasil yang tidak terduga, dengan peringatan.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Menghentikan/Memulai MySQL menggunakan MySQL Workbench

  2. 50 Pertanyaan Wawancara MySQL Teratas yang Harus Anda Siapkan Pada Tahun 2022

  3. Bagaimana cara menyimpan nama file di database, dengan info lain saat mengunggah gambar ke server menggunakan PHP?

  4. MySQL COUNT() – Dapatkan Jumlah Baris yang Akan Dikembalikan oleh Query

  5. MySQL dan GROUP_CONCAT() panjang maksimum