Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用LINQ将SQL中的时间戳数据类型值转换为C#中的Datetime格式?_C#_Asp.net_Sql_Linq - Fatal编程技术网

如何使用LINQ将SQL中的时间戳数据类型值转换为C#中的Datetime格式?

如何使用LINQ将SQL中的时间戳数据类型值转换为C#中的Datetime格式?,c#,asp.net,sql,linq,C#,Asp.net,Sql,Linq,我在数据库中使用LINQ和带有时间戳数据类型的Tstamp fileld。现在,我想使用LINQ查询从SQL中获取数据,它在System.data.LINQ.Binary数据类型中返回Tstamp数据字段值。现在我想将此二进制数据类型值转换为Datetime格式,但如何转换?Datetime!=时间戳 SQL时间戳是一个单调递增的数字,用二进制表示。不是时间。与时间无关,只是它们都会向前滚动。这就是为什么时间戳(作为关键字)现在被弃用(令人困惑),并被替换为 您无法从时间戳获取时间。如果需要时间

我在数据库中使用LINQ和带有时间戳数据类型的Tstamp fileld。现在,我想使用LINQ查询从SQL中获取数据,它在System.data.LINQ.Binary数据类型中返回Tstamp数据字段值。现在我想将此二进制数据类型值转换为Datetime格式,但如何转换?

Datetime
!=<代码>时间戳

SQL时间戳是一个单调递增的数字,用二进制表示。不是时间。与时间无关,只是它们都会向前滚动。这就是为什么
时间戳(作为关键字)现在被弃用(令人困惑),并被替换为


您无法从
时间戳
获取时间。如果需要时间,请将时间存储为
datetime

SQL时间戳实际上不是日期时间数据类型。它是一种自动生成的二进制数据类型,用于对行进行版本控制。因此,无法将其转换为C#中的日期时间值


有关更多信息,请参阅。

那么,时间戳数据类型在SQL中的用途以及我们为什么使用它?
timestamp
(和
rowversion
,它们是同义词)用于执行乐观并发和更改检测,因为您可以通过单个字段轻松检查是否有任何更改。这是因为对该记录的任何更改都会自动将
时间戳
/
行版本
更改为一个新的(更高的)数字。然后,我可以在中使用to timestamp('gps_timestamp','YYYY-MM-DD HH24:MI:SS.FF')将日期转换为时间戳吗sql@user285oo6“时间戳”是指日期时间吗?或者您是指
行版本
?两者都被称为“时间戳”,但它们是非常不同的东西。“时间戳”是什么意思?datetime精确到纳秒的时间戳如果我们想在aspx页面上显示时间戳值,那么如何显示该值???@Gaurav Agrawal-时间戳数据类型通常不包含对显示有价值的数据,因为它通常只是自动生成的二进制(有些随机)数据。如果需要存储日期数据类型,请在SQL中使用datetime数据类型。但是,如果必须显示此数据,则需要使用convert.ToBase64String()之类的方法将数据转换为字符串