0

我在 C# 中使用查询。我正在从数据库中打印数据。

它的列数约为 200,第一列的类型是TIMESTAMP.

其他类型打印出来没有问题。只有 TIMESTAMP 可以。

有人说我可以用TIMESTAMP得到TO_CHAR(COLUMN_NAME, 'YYYYHHDD')

我想显示所有数据库。但如果我愿意,我应该输入所有列。这样就不会显示新创建的列。

我想使用这样的查询,但它不起作用:

SELECT TO_CHAR(TIME, 'HHMMSS'), * FROM DATAS

请帮我解决这个问题。

4

2 回答 2

0

假设您使用的是 SQL Server,您必须将时间戳值读取为字节数组并将其转换为字符串。MSDN 上的SQL Server 数据类型映射显示 Timestamp 映射到 Byte[] 并且可以通过 GetSqlBinary 或 GetBytes 方法访问。

该映射还显示时间戳实际上是一个行版本号,每次修改行时都会自动更改。它与时间无关。它只是一个递增的 8 字节数。这个数字对最终用户没有任何意义,在任何地方都可能没有任何意义。

如果您仍想显示它,您可以使用BitConverter.ToInt64方法将时间戳字节转换为 Int64 类型。

于 2012-06-15T07:33:43.697 回答
0

以下对我有用:

SELECT CONVERT(numeric(20,0), stamp + 0) FROM ...

这是“stamp”是时间戳列的地方。

于 2012-06-15T07:31:55.817 回答