Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ลำดับความสำคัญของ || . เป็นอย่างไร ตัวดำเนินการขึ้นอยู่กับโหมด PIPES_AS_CONCAT SQL หรือไม่


อย่างที่เรารู้ว่าใน MySQL เป็นค่าเริ่มต้น || โอเปอเรเตอร์เป็นโอเปอเรเตอร์ OR แบบลอจิคัล แต่ขึ้นอยู่กับโหมด PIPES_AS_CONCAT SQL หากเปิดใช้งานโหมด PIPES_AS_CONCAT SQL แล้ว || ตัวดำเนินการทำงานเป็นการต่อสายอักขระ ในขณะนั้นลำดับความสำคัญจะอยู่ระหว่าง ^ และตัวดำเนินการเอกพจน์ ตัวอย่างต่อไปนี้จะทำให้เข้าใจ -

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)

ชุดผลลัพธ์ของแบบสอบถามข้างต้นแสดงให้เห็นว่า || ทำงานเป็นโอเปอเรเตอร์ OR นั่นคือสาเหตุที่เอาต์พุตเป็น 1 เป็นจริง

mysql> Set SQL_MODE = 'PIPES_AS_CONCAT';
Query OK, 0 rows affected (0.10 sec)

หลังจากเปิดใช้งานโหมด PIPES_AS_CONCAT SQL แล้ว || ทำงานเป็นคำพ้องความหมายของฟังก์ชัน CONCAT() เช่น ฟังก์ชันการต่อสตริง แสดงในชุดผลลัพธ์ต่อไปนี้ -

mysql> Select @C||@D;
+----------------+
| @C||@D         |
+----------------+
| tutorialspoint |
+----------------+
1 row in set (0.00 sec)