我在 sql server 2014 中有一个这样的表:
ID | Start_mile|End_mile
1 |5.23 |7.464
2 |2.333 |6.124
Run Code Online (Sandbox Code Playgroud)
我想要做的是将里程分成每个 ID 的千分之一,如下所示:
ID |start_mile|end_mile
1 |5.230 |5.231
1 |5.231 |5.232
1 |5.232 |5.233
....
1 |7.463 |7.464
...
Run Code Online (Sandbox Code Playgroud)
关于如何去做这件事的任何想法?我试图远离游标,除非这是唯一的方法。
我已经能够将这个查询放在一起,但不确定如何将它与 ID 和英里限制合并,以便它在没有声明的 From 和 To 变量的情况下为整个表运行:
DECLARE @from decimal(15, 3) = 0.980;
DECLARE @to decimal(15, 3) = 1.024;
;WITH cte AS
(SELECT @from AS Value
UNION ALL
SELECT CONVERT(decimal(15, 3), Value + 0.001)
FROM cte
WHERE Value < @to)
SELECT *
FROM cte
option (maxrecursion …
Run Code Online (Sandbox Code Playgroud) 我有两列看起来像这样:
Start_Post End_Post ---------- -------- 102+20.45 153+19.22 120+21.25 220+25.30 ……
我想对每一列引入一个约束:
Start_Pos
End_Pos
所有值均以英尺为单位并遵循特殊格式。这是一个建筑惯例,我不是专家,但据我所知,1+00 是 100 英尺。从本质上讲,取上述范围 100+50.30 到 150+20.65 意味着距离为 4970 英尺。我所做的只是删除加号并减去两个数字。希望这是有道理的。
有没有办法在保持格式的同时定义这个约束?
我正在考虑最好的方法来做到这一点。如果我在 sql server 中有这样的表:
StudentPointsTable
StudentID
TestDate
Points
我还需要为学生计算平均值和标准差。我知道我可以创建一个视图,或者用这些计算列创建一个新表,或者将计算列添加到这个表中。
不确定是否还有其他选择,但在性能方面,最好的方法是什么?