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)
以上が「|| 演算子の優先順位は PIPES_AS_CONCAT SQL モードにどのように依存しますか?」の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。