Я относительно новичок в SQL и ищу команду, которую можно запустить, чтобы найти все записи в базе данных в пределах .5 от расчетного значения.

Например:

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

Однако, поскольку WITHIN не является допустимой командой SQL, какую именно команду я могу заменить?

3 ответа3

1

Это зависит от того, какой SQL поставщика вы используете, но я бы сказал, что это будет что-то вроде:

SELECT * FROM table WHERE column BETWEEN value1 AND value2

в качестве альтернативы, вы можете использовать

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

Что-то вроде этого (в 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;
0

Я думаю, что более непосредственно вы ищете ...

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .