質問: SQLiteについて、 全然素人の為教えて頂きたいです。 ある表に生年月日しかなく、在住と何歳以上の人を集計する時にどう年齢を割出せばいいか分かりません。 在住は求められましたが、生年月日からの年齢にするのがよく分からないです。 申し訳ありませんが教えていただけますでしょうか?
回答: SQLiteの関数はわりと単純なものだけなので、あとは自前で工夫がいる。 テーブル名xtable、カラム名birthに、誕生日が西暦年4桁 YYYY-mm-dd の形式で入力されてるとして、以下の式。 select strftime('%Y', 'now' ) - strftime('%Y' , birth) +(case when strftime('%m%d', 'now' ) - strftime('%m%d' , birth) >0 then 0 else -1 end ) as age from xtable ; 参考:SQLiteの日付時刻関数