2012-04-11 50 views
-3

可能性の重複:
Calculate Age in MySQL (InnoDb)計算年齢

私はテーブルを作成し、その列の一つが 'DOB'(誕生日)です。それは0000-00-00形式でテーブルに誕生日を入力しました。しかし、私は0000-00-00形式の代わりに自分の年齢($ id)を表示する必要があります。

私の現在のページには、私のデータベースの情報がこの形式で表示されています。それは、異なるユーザーの年齢を表示します。ここで

<td align="center"><? echo $rows['age']; ?></td>

+0

どのような単位ですか?年?日々?月?年齢だけでもスピードや体重に似ています。ユニットはそれに付随する必要があります。 – Corbin

+0

また、日付文字列の最後の '00-00'が' mm-dd'か 'dd-mm'かどうかを指定しません。 – msanford

+0

@ msanfordとMySQLを使用すると、yyyy-mm-ddとすることは安全です。しかし、0000-00-0000は実際には曖昧です。代わりに日付の書式を明示する必要があるvarcharでない限り、フィールドの型を指定する必要があります。 – Corbin

答えて

0

使用できるSQLクエリです。

SELECT EXTRACT(YEAR FROM (FROM_DAYS(DATEDIFF(NOW(), '1982-01-01')))) AS age 
+0

そして今、上記のコメントを見て、警告:それは、列のデータ型dobが日付またはdatetimeであると仮定しています。 – mdoyle

+0

私は次のように入力しました: 'SELECT EXTRACT(ユーザーからの年(DATEEDIFF(NOW)、1982-01-01 '))))))年齢は変わりましたが、うまくいきませんでした – drftorres

+0

" "?あなたはMySQLを使用しています。 'root @ beren [〜]#mysql' ' MySQLモニタへようこそ。コマンドはで終わります。 (FROM_DAYS(FROM 5.0.95-コミュニティのMySQLコミュニティ版(GPL) ' ' ' ' mysqlの> SELECT EXTRACT(YEAR: 'MySQLの接続IDが13408' ' Serverのバージョンであるか、\ g.' DATEDIFF(NOW()、 '1982-01-01')))))AS age; ' ' + ------ + ' '年齢| ' ' + ------ + ' ' | 30 | ' ' + ------ + ' ' 1セット内の行(0.00秒) ' ' ' ' mysqlの> ' コメントの書式作品を期待して...、それそうではないようです。 – mdoyle

関連する問題