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 集客導線、SNS導線、広告数値自動取得、LP/HP/CSS、ファネルツールなどなど個人・法人のスモールビジネスをIT/AIのチカラでフルサポートしています。 BLOG:https://embedded-property.net