我写了一个存储过程来执行一个任务,它工作,但是在过程结束时,我想显示一个显示更好分辨率的摘要,这是我所拥有的:
SELECT
CONCAT("Tickets requested: ", intTickets)
,CONCAT("Tickets reserved: ", intTicketsReserved)
,CONCAT("Start time: ", tsStart)
,CONCAT("End time: ", tsEnd)
,CONCAT("Elapsed: ", TIMESTAMPDIFF(SECOND, tsStart, tsEnd), " seconds");
字符串
进入存储过程时:
#Timestamp before we start
SET tsStart = NOW();
型
在存储过程结束时,在显示摘要之前:
#Timestamp now so we can work out elapsed time taken
SET tsEnd = NOW();
型
输出只显示数据和时间,没有微秒,我可以修改它来显示微秒,这是我到目前为止看到的:
'Tickets requested: 2500', 'Tickets reserved: 2347', 'Start time: 2024-01-03 12:35:46', 'End time: 2024-01-03 12:35:48', 'Elapsed: 2 seconds'
型
我已经尝试过将SECOND更改为MICROSECOND,这只会导致最后一列显示2000000,我希望在开始和结束时间之后看到微秒,并将经过的时间以小数形式显示秒和微秒。
1条答案
按热度按时间relj7zay1#
要获取微秒,您必须将微秒数(精度)传递给NOW():
范例:
字符串
标签:NOW()