SQL Server的Delphi数据类型last_user_update

时间:2016-04-30 22:13:46

标签: sql-server-2008 delphi

下面的SQL Server代码返回上次更新到表(任何行)的时间日期。

SELECT OBJECT_NAME(OBJECT_ID) AS DatabaseName, last_user_update
FROM sys.dm_db_index_usage_stats
WHERE OBJECT_ID=OBJECT_ID('TableName') 
AND (Index_ID = 1)

如果我在TFDQuery中使用此功能,那么数据类型FDQuery1.FieldByName('last_user_update')是什么?

如果我想在Delphi变量中的不同时间存储和比较这个值,我应该将它分配给哪个Delphi数据类型,Double?

1 个答案:

答案 0 :(得分:3)

您使用TDateTime
虽然var LastUpdate: TDateTime; begin //Do query etc. ... LastUpdate:= MyQuery.FieldByName('last_user_update').AsDateTime; 在内部由双倍表示,但您不要使用双倍,因为您将错过所有日期/时间支持。

代码是这样的。

TDate

请注意,SQL Server 7及之前版本不支持 LastUpdate:= MyQuery.FieldByName('last_user_update').AsDate; 。因此,如果您只想要日期部分,则此代码将在SQL Server 7中失败。

save

稍后获取完整的DateTime并删除Time部分。 但是,您正在使用2008,因此只需提取日期即可。

这是一个DateTime函数列表:http://www.delphibasics.co.uk/ByFunction.asp?Main=DatesAndTimes