我們知道,在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)#
以上是'||運算子的優先權如何取決於PIPES_AS_CONCAT SQL模式?'的詳細內容。更多資訊請關注PHP中文網其他相關文章!