MySQLでのクエリ時間差の書き方

1057 ワード

計算日時の長さは、MySQLの内蔵関数TimeStampDiff()を使用して実現します.関数TimeStampDiff()は、MySQL自身が提供する2つの時間間隔を計算できる関数です.構文は、TIMESTAMPDIFF(unit,datetime_expr 1,datetime_expr 2)のうち、unit単位はFRAC_SECOND (microseconds), SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR . このパラメータの具体的な意味は、FRAC_SECOND表示間隔はミリ秒SECOND秒MINUTE分HOUR時間DAY日WEEK曜日MONTH月QUARTER四半期YEAR年
例:#2つの日付の間に何週間の差があるかを計算します.
select timestampdiff(week,'2019-07-30','2019-09-04');

#2日の差を計算
select timestampdiff(day,'2019-07-30','2019-09-04');

実際の開発では、2つのサブクエリをクエリするまでの時間差が使用される場合があります.例:
select  TIMESTAMPDIFF(SECOND,(select update_time from traning_image_result 
WHERE safety_training_plan_id = 322 and business_type = 1 and event_tye=1)
,(select update_time from traning_image_result 
WHERE safety_training_plan_id = 322 and business_type = 1 and event_tye=3))

上記の例では、TIMESTAMPDIFF(unit,datetime_expr 1,datetime_expr 2)datetime_expr 1とdatetime_expr 2はクエリが出る時間を使うので、このような効果を達成するには、クエリの文を()で囲むだけでよい.