我有以下方案,并将感谢任何建议如何解决此问题.
我们有一个数据库应用程序,其中包含一个DateTime字段的字段.我们过去从未使用过这个字段,但现在经过几百次安装后我们需要使用这个字段,但发现它不应该是一个DateTime字段.
我们可以创建脚本来更改数据库,但这会涉及太多的工作.
该字段需要存储一个唯一的值,我想知道是否给定一个字符串我可以得到一个唯一的数字,然后将其存储在dateTime字段(这是一个双精度).
我找到了这个方法:
function Unc(s: string): UInt64;
var
x: Integer;
begin
Result := 0;
for x := 1 to Length(s) do
Result := Result + ((Ord(s[x])) shl ((x - 1) * 8));
end;
Run Code Online (Sandbox Code Playgroud)
并且返回的值将分配给DateTime字段.
这是否有效,因为我担心范围检查错误/整数溢出,或者有更好的方法来执行此操作(而不是执行可能是正确方法的脚本)?
JD
我宁愿做正确的方法并创建脚本来更改数据库,因为它不使用它应该不是一个大问题(没有数据转换等)
| 归档时间: |
|
| 查看次数: |
292 次 |
| 最近记录: |