Sql 知道我已经接近我想要的了。事实上,我只是忘了像你建议的那样否定语句。谢谢大家!@谢德里奇。它们返回NULL,因此整个表达式将是NULL。感谢您的澄清。所以我想,过滤是我想要的。@shaedrich。查询仍将向下过滤到所需的行(使用WHERE)。这只会防止出
Sql 知道我已经接近我想要的了。事实上,我只是忘了像你建议的那样否定语句。谢谢大家!@谢德里奇。它们返回NULL,因此整个表达式将是NULL。感谢您的澄清。所以我想,过滤是我想要的。@shaedrich。查询仍将向下过滤到所需的行(使用WHERE)。这只会防止出,sql,sql-server,geolocation,Sql,Sql Server,Geolocation,知道我已经接近我想要的了。事实上,我只是忘了像你建议的那样否定语句。谢谢大家!@谢德里奇。它们返回NULL,因此整个表达式将是NULL。感谢您的澄清。所以我想,过滤是我想要的。@shaedrich。查询仍将向下过滤到所需的行(使用WHERE)。这只会防止出现错误。 SELECT TOP 1 temp.Distance FROM ( SELECT ( 3956 * 2 * ASIN( SQRT( POWER(
知道我已经接近我想要的了。事实上,我只是忘了像你建议的那样否定
语句。谢谢大家!@谢德里奇。它们返回NULL
,因此整个表达式将是NULL
。感谢您的澄清。所以我想,过滤是我想要的。@shaedrich。查询仍将向下过滤到所需的行(使用WHERE
)。这只会防止出现错误。
SELECT TOP 1
temp.Distance
FROM (
SELECT
(
3956 * 2 * ASIN(
SQRT(
POWER(
SIN((53.6349994 - abs(CAST(latitude_deg AS numeric))) * pi() / 180 / 2), 2) + COS(53.6349994 * pi()/180) * COS(abs(CAST(latitude_deg AS numeric)) * pi()/180) * POWER(SIN((10.0117336 - CAST(longitude_deg AS numeric)) * pi()/180 / 2), 2) ))) AS Distance
FROM Airport_Airports
WHERE
isnumeric(longitude_deg) = 1 AND isnumeric(latitude_deg) = 1 AND
longitude_deg LIKE '%[^0-9.]%' AND latitude_deg LIKE '%[^0-9.]%'
) AS temp
WHERE
temp.Distance < 50000
Order BY
temp.Distance
WHERE isnumeric(longitude_deg) = 1 AND
isnumeric(latitude_deg) = 1 AND
longitude_deg LIKE '%[^0-9.]%' AND
latitude_deg LIKE '%[^0-9.]%'
WHERE isnumeric(longitude_deg) = 1 AND
isnumeric(latitude_deg) = 1 AND
longitude_deg NOT LIKE '%[^0-9.]%' AND
latitude_deg NOT LIKE '%[^0-9.]%'
(3956 * 2 * ASIN(
SQRT(
POWER(
SIN((53.6349994 - abs(try_convert(numeric, latitude_deg))) * pi() / 180 / 2), 2) + COS(53.6349994 * pi()/180) * COS(abs(try_convert(numeric, latitude_deg)) * pi()/180) * POWER(SIN((10.0117336 - try_convert(numeric, longitude_deg)) * pi()/180 / 2), 2) ))) AS Distance