C# 将时间戳(数据库)转换为日期时间(C)
在我的SQL Server表中,我有一列数据类型timestamp,我想转换为C中的DateTime。您不能。时间戳数据类型是rowversion的别名;它是一个二进制递增值,既不包含日期和时间,也不基于日期和时间。这是不可能的 时间戳数据类型只是一个递增的数字,而不是 保留日期或时间C# 将时间戳(数据库)转换为日期时间(C),c#,ado.net,timestamp,C#,Ado.net,Timestamp,在我的SQL Server表中,我有一列数据类型timestamp,我想转换为C中的DateTime。您不能。时间戳数据类型是rowversion的别名;它是一个二进制递增值,既不包含日期和时间,也不基于日期和时间。这是不可能的 时间戳数据类型只是一个递增的数字,而不是 保留日期或时间 时间戳类型不是日期或时间的表示,而只是生成的数字,保证在数据库中是唯一的。因此,它不能直接转换 执行粗略转换的唯一方法是定期将当前时间和时间戳存储在新表中,然后选择最接近要转换的时间戳的时间 或者,您可能希望向d
时间戳类型不是日期或时间的表示,而只是生成的数字,保证在数据库中是唯一的。因此,它不能直接转换 执行粗略转换的唯一方法是定期将当前时间和时间戳存储在新表中,然后选择最接近要转换的时间戳的时间
或者,您可能希望向datetime类型的表中添加一个新列,并在行发生更改时更新该列。Transact-SQL时间戳数据类型是一种二进制数据类型,没有与时间相关的值….,时间戳既不是日期也不是时间。因此,您不能这样做。。。。。见BOL: 时间戳:
时间戳是一种数据类型,它公开自动生成的二进制数,这些二进制数在数据库中保证是唯一的。时间戳通常用作对表行进行版本标记的机制。存储大小为8字节。如果我没有弄错,事实上rowversion是时间戳的别名。取决于DBRMS。在Sybase 12中,您找不到DateTime作为类型,它总是显示一个名为timestamp的类型,它实际上是一个DateTime,只有另一种格式。@Offler:我假设SQL Server的OP是指SQL Server,而不是任何其他DBRM;