||運算子的優先順序是如何取決於PIPES_AS_CONCAT SQL模式的?
我們知道,在 MySQL 中,|| 運算子預設是邏輯或運算子,但它取決於 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)
上述查詢的結果集顯示,|| 用作或運算子,因此 true 的輸出為 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)
廣告
資料結構
網路
關係型資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP