質問

私は2つの日付の間に何日かを見つけようとしています。私はこれを使用しようとしています:

SET Days_Outstanding = DATEDIFF(day, CONVERT(datetime, LS_CHG_DTE_EQP, 1), CONVERT(datetime, Report_Date, 1))

ただし、これは数日で数を返すものではありません。それは私のデータセットとは何の関係もない年に年にデータを返すことです。

問題がどこにあるのかわかりませんが、SQLにとってはまだ新しいものです。また、私はdays_outstandingがintとして定義されていますが、それが問題になる可能性がありますか?ありがとう!

編集

みんな、ありがとう!何が起こったのかわからないので、私はあなたが提案したものにいくつかのことを変え、私が元々持っていたものに戻ったときにそれが機能しました。何が起こったのかわからない。ありがとう!

役に立ちましたか?

解決

DATEDIFF 整数を返します

ただし、の値/データ型に応じて、日数は明らかに間違っている可能性があります LS_CHG_DTE_EQP/Report_Datelocale

また、 DATEDIFF 24時間ではなく、日の境界で動作します。それで 23:5600:02 いつかです。

それ以外の場合は、入力と出力の例を追加してください。

他のヒント

select DATEDIFF(dd,'20100101',getdate())

今日227を返します

したがって、あなたの場合、LS_CHG_DTE_EQPとREPORT_DATEが両方ともdateTime列であると仮定します

SET @Days_Outstanding = DATEDIFF(day, LS_CHG_DTE_EQP, Report_Date)

試してみましたか

SET Days_Outstanding = CONVERT(datetime, LS_CHG_DTE_EQP, 1) - CONVERT(datetime, Report_Date, 1))
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top