SQL 異なる型(STRING、INT)の比較 Nozomu.Kon 2013年10月14日 / 2017年7月28日 PHP & MYSQL環境を勉強中の管理人です。 日付単位でカウント数をまとめたい、と思っていた矢先に丁度良い関数を見つけました。 SELECT COLUMN, COUNT(*) FROM TABLE WHERE COLUMN GROUP BY DATE_FORMAT(COLUMN, '%Y%m'); この事例ですと月別の集計が可能なわけですが、私は少し戸惑いました。 上記例で示した「COLUMN」は実態はINT(8)でして、2013年10月14日であれば「20131014」となるのですが、文字列である必要はないんですね。最初はBETWEEN式で評価していたのですが、こちらも数値、文字列によるCOUNTの差異がありませんでした。 SELECT COLUMN, COUNT(*) FROM TABLE WHERE COLUMN BETWEEN 20130101 and 20131231 SELECT COLUMN, COUNT(*) FROM TABLE WHERE COLUMN BETWEEN "20130101" and "20131231" C言語からスタートすると型って結構重要なんですけど…PHPもSQLもそうですが楽チンな半面、中でどう処理されているのか気になってしまいます。PARSERが優秀なのかしら? ABOUT ME Nozomu.Kon AI/ITコーチ & サポート 私がやっているのは、AIやITを「使えるようになる」ことそのものではありません。仕事が不自由なく進み、本来やりたいこと・届けたいことを実現する一歩を、手助けしています。作業を任せたい方にはサポートを。自分でやりたい方には、コーチングを。 BLOG:https://embedded-property.net