SQL DateTimeの違いの違い
-
29-09-2019 - |
質問
私は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_Date
と locale
また、 DATEDIFF
24時間ではなく、日の境界で動作します。それで 23:56
に 00: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))
所属していません StackOverflow