SQL小数点の表示とtimestamp
SQLを扱っていて、小数点の表示とtimestampを扱ったので、使い方等記載いたします。
1.小数点の指定
データの平均を出す計算をするときなどで、小数第何位まで表示するか指定したいときがあると思うのですが そういったときに使えるのが[DATE_FORMAT]です。 使い方としましては以下のようになります。
hoge = 27 fuga = 7
WHERE hoge/fuga 3.7142....... //小数第1位まで表示する WHERE FORMAT(hoge/fuga , 1) 3.7 //小数第3位まで表示する WHERE FORMAT(hoge/fuga , 3) 3.714
こちらで小数点をいくつまで表示するかを指定できます。
2.timestampの使い方
SQLで日にちを扱う型でtimestampというものがあるのですが、こちらの構造は以下のようになっています。
yyyy-mm-dd hh:mm:ss
年月日と時分秒が入っています。なので 例えばtimestamp型の[order_date]というフィールドがあったとして、注文日時が2017年1月1日~2017年6月30日までのデータを取得したいときに
WHERE order_date between '2017-01-01' and '2017-06-30'
という検索方法ですと、時間を無視しているので正しいデータを取得できません。
入力値を年月日時分秒にするか、どうしても年月日だけで検索したいときは [DATE_FORMAT]を使いましょう。
WHERE DATE_FORMAT(order_date , '%Y%m%d') between '2017-01-01' and '2017-06-30'
よく分からないという方は、まずは実際にSQLを動かして検証すると良いと思います。 私もそうして理解しました。
それでは