我有一个从外部应用程序调用的过程。该过程具有 bigint 类型的参数时间。在此过程中,我将时间插入到"时间"类型的表中。要将 bigint 转换为时间,我使用 DATEADD:
DATEADD(S, @piHMSTime, '19700101')
一切正常,但我在表格中得到了这样的时间 22:59:57.0000000。如何设置所需的精度?我只需要几秒钟或点后 2 位数字。
不用担心。 要存储的值使用内部格式。
如果您只想查看最多几秒钟的时间,请使用 convert()
:
convert(varchar(8), timecol, 114)
如果列定义为 time
,则默认值为秒(100 纳秒(的七位数精度。 如果您只需要几秒钟,请使用time(0)
:
alter table t alter column timecol time(0);
外部应用程序向您发送自 1970-01-01 以来的秒数。 只要这不改变,你就无法获得更高的精度。
如果可以让外部应用程序自 1970-01-01 以来通过毫秒,则可以使用此处显示的函数。