1


0

DATEDIFFの使用方法 2つの日付の内にある日数

DATEDIFFの使用方法 これを機能させるにはどうすればよいですか? またはDATEDIFFを完全に異なる方法で使用する必要がありますか?

SELECT DATEDIFF('Started ','will_end') AS 'Duration' FROM my_table WHERE id = '110';

私は、2つの日付の間に何日あるかという答えを得ようとします。

次のようなアスワーを取得したいと思います。+期間= 7日。

私はこのようなデータベースを持っています:

開始| will_end + 2009-12-17 | 2009-12-24 + 2009-12-12 | 2009-12-26

4 Answer


4


最初に「will_end」、次に「started」を配置します。

SELECT  DATEDIFF('2009-12-24', '2009-12-17')

---
  7

また、フィールド名から一重引用符を削除します。

SELECT  DATEDIFF(will_end, started) AS Duration
FROM    my_table
WHERE   id = 110

、またはそれらをバックティックに置き換えます:

SELECT  DATEDIFF(`will_end`, `started`) AS `Duration`
FROM    `my_table`
WHERE   `id` = 110


2


「NULL」の結果が得られていますか? クエリ内の列名は一重引用符で囲まれています。つまり、列の値ではなく、文字列「 'Started'」と「 'will_end」を「DATEDIFF」に渡します。 一重引用符を削除してみてください。いくつかの結果が表示されます。

SELECT DATEDIFF(Started, will_end) AS Duration FROM my_table WHERE id = '110';

これは否定的な結果を与えることに注意してください。 肯定的な結果を得るには、列の順序を逆にします。

SELECT DATEDIFF(will_end, Started) AS Duration FROM my_table WHERE id = '110';


0


注文を入れ替える

DATEDIFF( 'will_end'、 'Started')


0


DATEDIFFに渡される3つのパラメーターがあると思います(datepart、startdate、enddate)

あなたのコードはDATEDIFF(dd、 'Started'、 'will_end')になります