转换DateTime的逻辑.TSQL查询中的FromBinary方法
本文关键字:FromBinary 查询 方法 DateTime 转换 TSQL | 更新日期: 2023-09-27 18:17:25
我有一个包含VARBINARY(MAX)
数据类型的列的表。该列表示c# DB层类中不同类型的不同值。它可以是:int
, string
和datetime
。现在我需要根据它的类型把这一列转换成三列。因此,int
类型的值到新列ObjectIntValue
,以此类推,每个新列。
但是我有一个传输数据到datetime
列的问题,因为旧列包含datetime
值作为从c# DateTime.ToBinary
方法接收的long
,而数据保存。
我应该在TSQL中做,不能使用。net在新列中转换该值。你有什么主意吗?
谢谢你的建议!
在T_SQl中使用CLR
基本上你使用创建程序集来注册dll中的函数,然后创建一个用户定义的函数来调用它,然后就可以使用它了。有几个规则取决于你想做什么,但基本上你只需要DateTime.FromBinary(),应该不会太难弄清楚。
我从来没有这样做过,但这些家伙似乎知道他们在说什么
CLR在TSQL教程
这是一个一次性转换,对吧?你对@schglurps的回应有点令人担忧。
如果我得到你那里必须在你的更新脚本中断,即一个你会工作到当你实现这个改变,然后你有一个一次性的过程,这个操作,然后你将从一个新版本更新。
如果要验证它,只需检查新列是否存在。
另一种选择是编写一个小应用程序,从旧列中填充新列并调用它。呃…
如果这不是一次性的,并且您想要保留和维护旧列,那么您就有问题了。