0

3 つの列を持つデータベースがあり、すべて VARCHAR(20)

dob_day
dob_month
dob_year

これらをPHPの日付/タイムスタンプに変換して、人の年齢(行)を取得するにはどうすればよいですか

たとえば、次のものがあったとします。

dob_day = 07
dob_month = 08
dob_year = 1994

ユーザーは 19 歳になるため、これは 19 を表示する必要があります。

4

2 に答える 2

3

生年月日を として保存する必要がありますdate。このソリューションは、データベース側から年齢を返します。

SELECT TIMESTAMPDIFF(YEAR,CONCAT(dob_year, '-', dob_month, '-', dob_day),CURDATE()) AS `age`

結果

| | 年齢 |
-------
| | 19 |

デモを見る

于 2013-09-03T18:32:50.597 に答える