|| 運算子的優先順序如何取決於 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 運算子,因此對於 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