跪求指导: SQL 时间戳 被序列化为JSON后,如何再转换成时间戳

madStone_l 2015-10-29 11:29:39
数据版本SQL SERVER 2008 R2
B/S项目

现在表有一列为时间戳列,比如值为:0x00000000000007E1,

C#代码执行查询SQL查询语句返回DataTable对象,再使用Newtonsoft.Json.JsonConvert.SerializeObject序列化为JSON字符串输出到前台客户端,值变成字符串:AAAAAAAAB+E=


现在将“AAAAAAAAB+E=”传回存储过程中,判断判断原纪录是否已被修改。需要将AAAAAAAAB+E= 转换为TIMESTAMP才能比较。

请问如果将VARCHAR类型转换为TIMESTAMP类型。

求大神指导。跪谢谢!!
...全文
440 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
u010690526 2019-03-28
  • 打赏
  • 举报
回复
C#直接定义byte[]类型接收数据,会自动转换
  • 打赏
  • 举报
回复
既然有Newtonsoft.Json.JsonConvert.SerializeObject方法序列化为json串,那么肯定也有相应的方法反序列化为字符串把。 而且我觉得,可以直接把 0x00000000000007E1做为一个字符串,就这样不用再次转换了
madStone_l 2015-10-29
  • 打赏
  • 举报
回复
引用 1 楼 dengyi425 的回复:
public static string ToJsonProcess<T>(int Code, string msg, string action, IList<T> list) { try { String json = ""; IsoDateTimeConverter timeConverter = new IsoDateTimeConverter(); timeConverter.DateTimeFormat = "yyyy-MM-dd";//设置时间格式 json = JsonConvert.SerializeObject(list, Formatting.None, timeConverter); } catch (Exception ex) { } }
兄弟,感谢您的热心回答。但我这个问题是“时间戳 ”的问题,而不是时间格式的问题。
dengyi425 2015-10-29
  • 打赏
  • 举报
回复
public static string ToJsonProcess<T>(int Code, string msg, string action, IList<T> list) { try { String json = ""; IsoDateTimeConverter timeConverter = new IsoDateTimeConverter(); timeConverter.DateTimeFormat = "yyyy-MM-dd";//设置时间格式 json = JsonConvert.SerializeObject(list, Formatting.None, timeConverter); } catch (Exception ex) { } }
Tiger_Zhao 2015-10-29
  • 打赏
  • 举报
回复
你还是应该把时间戳值转化为 JSON 字符串 '0x00000000000007E1';然后C#调用存储过程时,可以直接拼到 SQL 中
String ts = json.时间戳字符串;
String sql = "mysp "+ts;

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧