MySQL他

改訂新版 SQLポケットリファレンス (Pocket reference)

改訂新版 SQLポケットリファレンス (Pocket reference)

MySQLを使い始めたので、DBによって使える関数、使えない関数を整理しようと思い、パラパラとひととり読み直した。
で、いくつか間違いを見つけた。
<>演算子とANYの組み合わせは意味がありません。
(略)
「a<>ANY(1,2,9)」の結果は必ず真になります。
aがnullの場合は真にならないぞ…と突っ込んでおきます。

それから CHARACTER_LENGTH 関数が間違ってる。
「文字列のバイト数を返します。漢字は2バイトとして数えられます」というのは間違い。バイトではなく文字数を返しますねー。
こんなかんじで意外と間違いが多そうだけど、
SQLってすぐに試せるし、普通は動作確認するだろうから、意外と、問題にはなりにくい。
読みやすさと、データベースごとの対応が見やすいので、そのへんの欠点はカバーしている良書だと思います。


今回読み直した事で新たな発見。
MySQLではビューをサポートしていない
MySQLでは REGEXP関数で正規表現を使える!
MySQLでは CONCAT関数に複数の引数を渡せる
 (|| (パイプ2つ)で文字列を連結できないのが面倒だと思ってたけど、これなら問題ないかな)