转换后的TIMESTAMP的SqlDataReader.GetString()中的垃圾字符

时间:2012-11-09 07:36:24

标签: sql-server sql-server-2008-r2 sqlclient

我有一个SELECT,其中包括

CONVERT(varchar(10), TIMESTAMP)

其中TimeStamp定义为

[TIMESTAMP] [binary](8) NULL

有些时间戳有坏数据,而不是 0x30332F31372F3131 ,转换为“03/17/11”,它们只有底部四个字节,如 0x0000000002F09ADD

当我在MSSMS查询窗口中执行SELECT时,那些不好的就会出现空白,这很好,但是当我在程序中使用SqlDataReader检索它们时,错误时间戳的字符串会出现乱码,如 " ðšÝ"

关于我能做些什么的任何想法?

1 个答案:

答案 0 :(得分:1)

Select case when ISDate(CONVERT(varchar(10), TIMESTAMP))=1 then CONVERT(varchar(10), TIMESTAMP) else null end