0

次のSQLを実行しようとすると:

SELECT SEC_TO_TIME(sum(TIME_TO_SEC(TIMEDIFF(edate,sdate))-rast)+3600) as TotalDiff from tblregtime where userID IN(97,41) AND year(sdate)=2012

このエラーを返します:

複数ステップのOLEDB操作でエラーが発生しました。可能な場合は、各OLEDBステータス値を確認します。作業は行われませんでした。

この問題は、totalDiffの合計が24時間を超える場合にのみ発生します。このエラーが発生する理由について何か提案はありますか?

4

1 に答える 1

0

SEC_TO_TIME : 結果の範囲は TIME データ型の範囲に制限されます。引数がその範囲外の値に対応する場合、警告が発生します。

TIME : TIME 値の範囲は「-838:59:59」から「838:59:59」です。

sum(TIME_TO_SEC(TIMEDIFF(edate,sdate))-rast)+3600記載の範囲外になる可能性はありますか?

(定義は、オンラインのMySQL 5.5 リファレンス マニュアルの厚意によるものです)。

于 2012-06-08T14:49:22.133 に答える