用于选择范围内的多个记录的 SQL 命令

用于选择范围内的多个记录的 SQL 命令

我对 SQL 还比较陌生,正在寻找一个可以运行的命令,以便在数据库中找到计算值 0.5 以内的所有记录。

例如:

SELECT X, (Y/Z) AS ZZ FROM Table WHERE ZZ WITHIN .5

但是由于WITHIN它不是有效的 SQL 命令,我可以用什么实际命令来替代呢?

答案1

这取决于您使用哪个供应商的 SQL,但我认为它将是类似的:

SELECT * FROM table WHERE column BETWEEN value1 AND value2

或者,你可以使用

SELECT * FROM table WHERE column <= value1 AND >= value2

答案2

类似这样的事情(在 SQL Server 2008 R2 中)您在想什么?

CREATE TABLE Tab
(
    X FLOAT NOT NULL,
    Y FLOAT NOT NULL,
    Z FLOAT NOT NULL,
    ZZ AS Y / Z
);

INSERT INTO Tab
VALUES
( 1, 2, 3 ),
( 0.1, 0.2, 0.3 ),
( 0.1, 0.5, 1 ),
( 0.2, 0.4, 0.8 ),
( 0.5, 1, 1.5 );

SELECT X, Y, Z, ZZ
FROM Tab;

DECLARE @Delta FLOAT;
SET @Delta = 0.5;

SELECT X, Y, Z, ZZ, ZZ - @Delta, ZZ + @Delta
FROM Tab
WHERE X BETWEEN ZZ - @Delta AND ZZ + @Delta;

答案3

我认为您更直接地在寻找......

SELECT X, (Y/Z) AS ZZ FROM Table WHERE (Y/Z) BETWEEN (Y/Z) - .5 AND (Y/Z) + .5

相关内容