Computer >> Máy Tính >  >> Lập trình >> MySQL

Mức độ ưu tiên của || toán tử phụ thuộc vào chế độ SQL PIPES_AS_CONCAT?


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)