我正在编写一段SQL,它会知道仪表何时通过(通过零)TTZ,例如4位仪表9999是最大值,之后它将自身重置为0然后1等,我想知道的是什么是在派生列中识别这个的最佳方法?
我最初的想法是对9999的值使用case语句,如果是,那么使用一个标志为1,但问题在于随着时间的推移有更多的TTZ。
其中meterread是4位数字的字段。最高可达9999。 理想情况下,我希望派生列分隔每个TTZ,并知道如果我要做一些Windows函数,如运行sum over()order by etc
对不起它与sql的详细内容不太相关,但只是希望了解
在此示例中,StartRead从9889变为449
答案 0 :(得分:0)
使用meterserial%10000
创建计算列CREATE Table Meter
(
Meterserial Int,
Metereaddate datetime,
meterread int,
met4digit as meterserial%1000
)