MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

7 Opsi untuk Mengaktifkan Pipa (||) sebagai Operator Penggabungan di MariaDB

Secara default, dua karakter pipa (|| ) diperlakukan sebagai logika OR operator di MariaDB. Namun, Anda dapat mengubah perilaku ini jika mau.

Anda dapat memperbarui sql_mode untuk menyertakan PIPES_AS_CONCAT opsi, dalam hal ini dua pipa akan diperlakukan sebagai operator rangkaian.

Ada beberapa cara untuk menambahkan opsi ini ke sql_mode Anda . Anda dapat menambahkannya secara eksplisit. Atau Anda dapat mengatur sql_mode ke opsi yang menetapkannya secara implisit.

Saya menjalankan opsi di bawah ini.

Tambahkan PIPES_AS_CONCAT Secara eksplisit

Jika Anda tidak ingin mengacaukan sql_mode Anda yang sudah ada pengaturan, Anda dapat menjalankan kode berikut:

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

Itu menambahkan PIPES_AS_CONCAT tanpa menghapus apa pun. Saya bisa menggunakan 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.

Mari kita periksa sql_mode saya yang ada pengaturan setelah menjalankan kode itu:

SELECT @@sql_mode;

Hasil:

PIPES_AS_CONCAT,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

Kita dapat melihat bahwa PIPES_AS_CONCAT disertakan bersama dengan opsi lain yang sudah ada.

ANSI

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.

Perhatikan bahwa ini akan menghapus semua pengaturan yang ada dan hanya menggunakan pengaturan yang berlaku untuk ANSI pilihan.

Untuk mendemonstrasikan ini, mari kita lihat lagi sql_mode saya setelah menyetelnya ke ANSI :

SET sql_mode='ANSI';
SELECT @@sql_mode;

Hasil:

REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI

Kita dapat melihat bahwa sql_mode saya telah benar-benar berubah.

DB2

Dengan cara yang sama, kita dapat mengatur sql_mode agar lebih selaras dengan berbagai DBMS.

Berikut cara mengaturnya untuk menggunakan konvensi DB2:

SET sql_mode='DB2';
SELECT @@sql_mode;

Hasil:

PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,DB2,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS

Itu adalah opsi yang sesuai dengan DB2.

MaxDB

SET sql_mode='MAXDB';
SELECT @@sql_mode;

Hasil:

PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,MAXDB,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER

SQL Server

Gunakan MSSQL untuk mengaturnya agar menggunakan konvensi SQL Server:

SET sql_mode='MSSQL';
SELECT @@sql_mode;

Hasil:

PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,MSSQL,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS

Oracle

SET sql_mode='ORACLE';
SELECT @@sql_mode;

Hasil:

PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ORACLE,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER,SIMULTANEOUS_ASSIGNMENT

SIMULTANEOUS_ASSIGNMENT opsi hanya ditambahkan saat menggunakan MariaDB 10.3 dan lebih tinggi.

PostgreSQL

SET sql_mode='POSTGRESQL';
SELECT @@sql_mode;

Hasil:

PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,POSTGRESQL,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 3 Cara Mendapatkan Kolasi Kolom di MariaDB

  2. Mengumumkan ClusterControl 1.7.3:Peningkatan Dukungan PostgreSQL &Opsi Penerapan Cloud Baru

  3. 7 Cara Mengembalikan Baris Duplikat yang memiliki Kunci Utama di MariaDB

  4. 5 Fungsi untuk Mengekstrak Nomor Minggu dari Tanggal di MariaDB

  5. 4 Cara untuk Memeriksa apakah Tabel Ada di MariaDB