繁体   English   中英

SQL时间戳记到C#上的日期时间

[英]SQL Timestamp to datetime on C#

我的SQL表中有以下列:

RECORDTIMESTAMP
0x000000000005B2A4
0x000000000005B2A5
0x000000000005B2A6

而且我需要在我的C#程序上返回此值。 该属性的声明如下:

public DateTime? RecordTimeStamp{ get; set; }

我的方法是:

RecordTimeStamp = DateTime.Parse(row["RecordTimeStamp"].ToString()),

错误消息如下:

  "The string was not recognized as a valid DateTime. There is an unknown word starting at index 0.",

我还尝试将atribbute声明为字符串,但是它也不起作用。

有任何想法吗?

这里有一个常见的误解: Timestamp并非实际时间。

这是一个错误的命名。 这就是为什么在六个版本之前将其重命名为ROWVERSION原因。 Timestamp仍仅用作别名,带有清晰的“已弃用”标记。 https://docs.microsoft.com/zh-cn/sql/t-sql/data-types/rowversion-transact-sql

timestamprowversion数据类型的同义词,并受数据类型同义词的行为的影响。 在DDL语句中,尽可能使用rowversion代替timestamp 有关更多信息,请参见数据类型同义词(Transact-SQL)

Transact-SQL timestamp数据类型与ISO标准中定义的timestamp数据类型不同。

注意

不建议使用timestamp语法。 将来的Microsoft SQL Server版本将删除此功能。 避免在新的开发工作中使用此功能,并计划修改当前使用此功能的应用程序。

它看起来像一个rowversion列(尽管它不是时间标记,但在历史上一直被称为“ timestamp”列)。 rowversion不是时间-它只是一个不透明的单调递增整数,除了让您发现已发生更改外,其他什么都没有。 时间戳通常用于乐观并发检查,但没有实际意义。 根据大小的不同, longbyte[]string可能适合存储。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM