转换DateTime的逻辑.TSQL查询中的FromBinary方法

本文关键字:FromBinary 查询 方法 DateTime 转换 TSQL | 更新日期: 2023-09-27 18:17:25

我有一个包含VARBINARY(MAX)数据类型的列的表。该列表示c# DB层类中不同类型的不同值。它可以是:int, stringdatetime。现在我需要根据它的类型把这一列转换成三列。因此,int类型的值到新列ObjectIntValue,以此类推,每个新列。

但是我有一个传输数据到datetime列的问题,因为旧列包含datetime值作为从c# DateTime.ToBinary方法接收的long,而数据保存。

我应该在TSQL中做,不能使用。net在新列中转换该值。你有什么主意吗?

谢谢你的建议!

转换DateTime的逻辑.TSQL查询中的FromBinary方法

在T_SQl中使用CLR

基本上你使用创建程序集来注册dll中的函数,然后创建一个用户定义的函数来调用它,然后就可以使用它了。有几个规则取决于你想做什么,但基本上你只需要DateTime.FromBinary(),应该不会太难弄清楚。

我从来没有这样做过,但这些家伙似乎知道他们在说什么

CLR在TSQL教程

这是一个一次性转换,对吧?你对@schglurps的回应有点令人担忧。

如果我得到你那里必须在你的更新脚本中断,即一个你会工作到当你实现这个改变,然后你有一个一次性的过程,这个操作,然后你将从一个新版本更新。

如果要验证它,只需检查新列是否存在。

另一种选择是编写一个小应用程序,从旧列中填充新列并调用它。呃…

如果这不是一次性的,并且您想要保留和维护旧列,那么您就有问题了。