細胞の一つがのpython3 MySQLでNULLの場合TIMESTAMPDIFFが動作しません

Endriuアンドレイ:

time_in1、time_out1、time_in2、time_out2、total_seconds:私は、次の4つのDATETIME列と最後の5列目のINTEGERを持つテーブルがあります。

「total_seconds」列の関数であります

((TIMESTAMPDIFF(SECOND,time_in1,time_out1))+(TIMESTAMPDIFF(SECOND,time_in2, time_out2)))

「total_secondsは」のみ「time_in1」と「time_out1が」正しいデータで埋めたが、他の二つの列がNULLの場合であっても合計を表示させるためにそこに方法はありますか?

私は、各区間について個別に計算合計秒以上の列を作成し、合計欄にそれらのすべてを合計ことができることを知っています。しかし、上記のように動作させるためにいいだろう。

O.ジョーンズ:

ヌルDATETIMEの列が原因TIMESTAMPDIFF()関数が返すようにNULLだから、あなたがそれらの値を条件付きする必要がありますCOALESCE(value, default)

  COALESCE(TIMESTAMPDIFF(SECOND,time_in1,time_out1),0) 
+ COALESCE(TIMESTAMPDIFF(SECOND,time_in2, time_out2),0)

あなたがゼロのいずれかの場合について秒、またはその両方を使用したい場合は、この作品が、DATETIME値はNULLです。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=298538&siteId=1