我有两列看起来像这样:
开始_发布结束_发布 ---------- ---------- 102+20.45 153+19.22 120+21.25 220+25.30 ……
我想为每一列引入一个约束:
Start_Pos
最小范围:100+50.30
最大范围:150+20.65End_Pos
最小范围:150+60.30
最大范围:500+20.75
所有值均以英尺为单位并遵循特殊格式。这是一个建筑惯例,我不是专家,但据我所知,1+00 就是 100 英尺。本质上,采用上述 100+50.30 到 150+20.65 的范围意味着 4970 英尺的距离。我所做的只是删除加号并减去两个数字。希望这是有道理的。
有没有办法在保持格式的同时定义此约束?
假设左边的数字以
+
100 为单位进行测量,您也许可以创建这样的约束:但是,这不允许动态约束,表中的所有行都将被限制为那些测量值,这实际上可能正是您所需要的。
如果您需要为每个独立行动态调整约束,您可以这样做:
选择数据将如下所示:
结果,像这样:
帖子列已分为两部分,使我们能够使用正确的数据类型来存储数字数据。如果我们尝试存储
175+80.50
在单个字段中,我们最终会使用一个varchar(x)
列,它允许各种不良数据的可能性,例如tee+27.-1
,很难全面预防。因此,我们将站点存储在一列中,并将该站点的偏移量存储在下一列中。当在屏幕上或报告中向人类展示这些数据时,我们会使用上面显示的串联版本。除了 Max 提出的建议之外,这对我也有用。