如何将DateTime转换为T-SQL中精度大于天数的数字?

Jad*_*ias 13 t-sql datetime integer sql-server-2005 type-conversion

以下两个查询都转换为相同的数字

SELECT CONVERT(bigint,CONVERT(datetime,'2009-06-15 15:00:00'))
SELECT CAST(CONVERT(datetime,'2009-06-15 23:01:00') as bigint)
Run Code Online (Sandbox Code Playgroud)

结果

39978
39978
Run Code Online (Sandbox Code Playgroud)

仅当天数不同时,生成的数字才会有所不同.有没有办法将DateTime转换为更精确的数字,就像在.NET中使用.Ticks属性一样?

我需要至少一分钟的精度.

tek*_*ues 22

好吧,我会这样做:

select datediff(minute,'1990-1-1',datetime)
Run Code Online (Sandbox Code Playgroud)

其中'1990-1-1'是一个任意的基准日期时间.


Red*_*ter 8

SELECT CAST(CONVERT(datetime,'2009-06-15 23:01:00') as float)
Run Code Online (Sandbox Code Playgroud)

产量39977.9590277778