MySQL(MariaDB)のSQLでspaceship(宇宙船)発見

mariaDB

 

MySQLの比較演算子に

<=>

こんなの発見しました。

これ、spaceship operatorっていうみたいです。見た目が、spaceshipだからですね。

 

機能としては、field_a = ?

と?には何らかのデータが入るとして、もし、データがない場合は、NULLとなりますが、NULLだと

filed_a = NULLとなってsyntax error。正しくは、field_a Is NULLとしなければなりません。

これを許可する(Nullable)ものが <=>です。

field_a <=> NULL と書けるようになるというものです。

通常の比較演算子としても機能するので、

field_a <=> 123 と field_a = 123は等価ということですね。

 

すっごく便利なんですが、初級エンジニアは覚えないほうが良いです。
MySQLだけの機能なのであまり便利なのになれると他のDBが扱いづらく感じます。spaceship以外の方法を思いつけるなら使ってもよいと思いますよ。

 

コメントを残す

%d人のブロガーが「いいね」をつけました。