Như chúng ta biết rằng trong MySQL theo mặc định || toán tử là một toán tử OR logic nhưng nó phụ thuộc vào chế độ SQL PIPES_AS_CONCAT. Nếu chế độ SQL PIPES_AS_CONCAT được bật, thì || toán tử hoạt động như nối chuỗi. Lúc đó mức độ ưu tiên của nó sẽ nằm giữa ^ và toán tử một ngôi. Ví dụ sau sẽ giúp bạn hiểu -
mysql> Set @C='tutorials'; Query OK, 0 rows affected (0.00 sec) mysql> Set @D='point'; Query OK, 0 rows affected (0.00 sec) mysql> Select @C||@D; +--------+ | @C||@D | +--------+ | 1 | +--------+ 1 row in set (0.00 sec)
Tập kết quả của truy vấn trên cho thấy rằng || hoạt động như toán tử OR, đó là lý do tại sao đầu ra là 1 cho true.
mysql> Set SQL_MODE = 'PIPES_AS_CONCAT'; Query OK, 0 rows affected (0.10 sec)
Sau khi bật chế độ SQL PIPES_AS_CONCAT, || hoạt động như từ đồng nghĩa của hàm CONCAT (), tức là hàm nối chuỗi. Nó được hiển thị trong tập kết quả sau -
mysql> Select @C||@D; +----------------+ | @C||@D | +----------------+ | tutorialspoint | +----------------+ 1 row in set (0.00 sec)