プロシージャの期間をMILLISECONDSに記録しようとしています。以下のステートメントはSQLServerで正常に機能しました。
/* Log the duration of this procedure */
@DurationMillisecs INT,
@StartTime = GETDATE(),
SET @DurationMillisecs = DATEDIFF(millisecond, @StartTime, GETDATE())
私は今MySQLでこれを行おうとしています。いくつかの調査の後、以下の方法を試しましたが、それらは互いに同じ値を返しています。したがって、UNIX_TIMESTAMPはミリ秒単位で計算されないと推測しています。
SET StartTime = UNIX_TIMESTAMP();
SET DurationMillisecs = UNIX_TIMESTAMP() - StartTime;
SELECT DurationMillisecs;
私も以下を試しましたが、同じ問題です。
SET StartTime = now();
SET DurationMillisecs = DATEDIFF( StartTime, now());
助けてくれてありがとう。