私はdate_of_birthフィールドを持つMySQLデータベースを持っています。このフィールドに格納されるデータは、MM-DD-YYYYの形式です。私はこのフィールドの年齢を計算する必要がありますので、私はそれを比較して違いを取らなければなりませんCurDate()
。これを行うにはMySQLの日付の問題 - 計算方法?
私は次のように書かれている:
select FLOOR((DATE_FORMAT(curdate(), '%m-%d-%Y') - date_of_birth)/10000)
from patients
だから私はそれがMM-DD-YYYYのMM-DD-YYYYのマイナスDOBのCurDate()
を比較することが期待されます。しかし、私の1つのテストケースでは-1を返し続けます。私はこれをMSSQLでうまく動作させていますが、MySQLはやや使い勝手が悪いです。
ここに何か不足していますか?何が取引、助けてください!あなたの日付は、別のフォーマットである場合には(私は 'ネイティブ' フォーマットあなたはそれを維持するために助言する:
おかげ
check datediff function – Alfabravo
なぜ、あなたはmysqlの日付形式を使用していませんか?それをネイティブで保存するのはちょうど...非効率的です。あなたのテーブル構造を変更することは可能ですか? – Vyktor
私のデザインVykではありません。 MySQLについて何も知らなかったのは私の前のばかだった。だから私はそれに固執していますが、私は今働いています。 – Encryption