2019-09-04 23:24 [Wed]

奥深いので、突っ込み過ぎ注意か

    » 日記
    自分のレベルの低さってヤツを自覚する。

    今日もまたエクセル弄り。
    今回は二つの値を比較したかった話。

    AとBが等しくない場合の式として、私は「A != B」と書いてしまった。
    するとエクセル君エラー!なになに、また機嫌が悪いの?
    小窓がポップアップして、別の演算子へ変更すると伝えてきた。
    何が起こるのかと試してみたら、「A <> B」に変換された。
    そして、やりたかった事が正常に行えた。頭よし。

    エクセルの場合は「!=」ではなく、「<>」らしい。私的には馴染みがない。
    Wikipediaが言うには、「!=」はC言語ライクな書き方だそうだ。
    私はC言語系ばかりやっているので、「!=」がすぐに出てくる。

    関係演算子 - Wikipedia
    https://ja.wikipedia.org/wiki/関係演算子

    Wikipediaの上リンク先のページが面白い。なるほどな。
    「<>」はBASICライク、Pascalライクとあった。
    BASICは少し触っただけで、全然やった事がない。
    比較演算子なんて基本中の基本なのに、BASICの比較演算子が頭にないのは、
    基本(BASIC)が出来ていないのと同じだ。うあー。
    あ、Pascalはさっぱり触った事がないよ!

    そして、「<>」はSQLでも使われている。これは酷い。
    直接的に式を書いた事はない。参照したり、確認した事はある。
    それにも関わらず、「<>」の事なんて、すっぽりと頭から抜け落ちている。
    エクセル君に今日初めて教えて貰ったレベルで覚えていないぞ。

    更に驚きなのは、SQLには「等しくない」を表す書き方に種類がある事。
    「<>」の他にも、「!=」も使えたのだ!
    良かった、私が見た時はきっと「!=」の方だったのだな。

    PostgreSQL 8.3.7文書 第 9章関数と演算子
    https://www.postgresql.jp/document/8.3/html/functions-comparison.html

    注意: !=演算子は構文解析で<>に変換されます。!=演算子と<>演算子に異なる処理を行わせる実装はできません。

    Postgreでは基本的に「<>」。「!=」は気遣いで「<>」に変換している模様。
    エクセル君タイプだね。
    いや、見えない所で変換している分、エクセル君よりも上手か。

    MySQL :: MySQL 5.6 リファレンスマニュアル :: 12.3.2 比較関数と演算子
    https://dev.mysql.com/doc/refman/5.6/ja/comparison-operators.html

    「等しくない」の部分を探して、読んでみたけど良く分からない。
    変換が入らずに、「<>」「!=」どちらとも解釈しているのだろうか。
    分からん!

    PostgreSQLとMySQL、使うならどっち? データベース専門家が8つの視点で徹底比較!
    https://employment.en-japan.com/engineerhub/entry/2017/09/05/110000

    ちなみに上リンク先のようなページも発見した。
    「<>」と「!=」の話ではない。SQLの話。
    今後の人生で、私が再びSQLと向き合う日が来るのかは不明。
    参考程度に読んでみたよ。あったなーと懐かしい気持ちになった。

    まさかエクセル弄りから、ここまで話が派生するとはな。
    新しい事を知れたのは良いが、脱線か、これ。

    みんな何処まで知っている話なのだろうか。怖くて聞けないわ。
    自分のレベルが低い事は分かる。
    しかし、どの程度に位置するレベルなのかが分からない。
    これは一生負け組人生ですわ。どうしようもない、ムリゲー的な敗北感。
    「自分には平均的な力量があるぞ!」
    とか確認する術がないので、ずっと勝利するチャンスがない。
    私はいったい何と戦っているのだ……。

    公開する予定はないけど、個人的なエクセル弄りがまだまだ続く。早く終りたい
     

    コメントの投稿

    非公開コメント

ブログ内検索
Flashカレンダー
月別アーカイブ
リンク
Glep Web Ring
    Glep Web Ring