2013-06-18 22 views
7

誰かが助けることができるなら、私はこの問題を抱えています。 私のテーブル(table1)には3/31/1988 (M/D/y)という形式の日付であるフィールド(date)があります。その日から何日が経過したかを定義する必要があります。現在の日付と日付のフィールドの間の日数

私はこの命令に

SELECT DATEDIFF(CURDATE(), date) AS days 
FROM table1 

を与えることを試みている。しかし、それは「ヌル」をバック与え、私は2つの日付の形式が異なっている(CURDATE()はYMDです.....

ので、この問題が発生したと思います

誰も私を助けることができる あなたはSTR_TO_DATE()を使用することができ、事前

答えて

7

にありがとう、それが正しいこと:??

SELECT DATEDIFF(CURDATE(),STR_TO_DATE(date, '%m/%d/%Y')) AS days 
FROM table1 

SQLFiddle Demo

+0

ありがとうございました。 – user1951561

1

あなたDATEフィールドが正しくDATEDIFF引数として使用するDATEまたはDATETIME形式を持つ必要があります。

また、DATEはMySQLのキーワードであり、有効なフィールド名として使用することはできません。

関連する問題