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

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


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

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 สำหรับ true

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

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

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