2012年7月5日木曜日

MySQLで多様な日付形式が簡単に!

日本語アプリケーションと非日本語アプリケーションの両方を扱っているとき悩むことの一つが日付の表現ですね。 私としては、「20●●年●●月●●日(曜)」という表現が、とてもいいと感じています。一目で年月日と曜日が分かりますからね。 ところが、これを簡単にアプリに作り込むことって案外大変なのです。 日付属性のデータを何らかのフォーマットに変換して表示しなければなりません。たとえばMsAccessのフォーム上のコントロールに日付属性のデータフィールドをリンクさせ、書式を設定して上げるというのが、一般的な手法だと思います。 でも、わたしは先日もっと簡単な方法を思いつき実践してみました。とても簡単です。 それは多様で豊富なMySQLのdate_format関数とsubstring関数を組み合わせて使うことです。下にSQL文の例を具体的に上げましょう。 select  concat( date_format(max(日付),'%Y年%m月%d日') ,'(' ,substring('月火水木金土日',convert(date_format(max(日付),'%w'),char),1) ,')' ) as...