ตามที่ทราบว่าใน 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)