gpt4 book ai didi

sql-server-2008 - SQLServer 空间查询返回错误在预期条件的上下文中指定的非 bool 类型的表达式,接近 ')'

转载 作者:行者123 更新时间:2023-12-02 17:53:11 32 4
gpt4 key购买 nike

我正在尝试学习如何使用新的 SqlServer 2008 托管空间类型和方法(地理)对记录进行半径搜索以进行地理空间计算。我正在关注此网页上的示例:

http://msdn.microsoft.com/en-us/magazine/dd434647.aspx

我专门尝试做这个示例:

-- or declare POINT for "downtown Seattle"
-- 1609.344 meters per mile
DECLARE @Seattle geography = 'POLYGON(....)'; SELECT c.customerid FROM
customer c WHERE c.geog.STIntersects(@Seattle.STBuffer(10 * 1609.344));

但是,即使在运行查询之前(或者当我运行查询时——编译和运行时错误)我也收到以下错误消息:

An expression of non-boolean type specified in a context where a condition is expected, near ')'

我真的很困惑。我没有做完全相同的查询(我在地理列中使用我自己的数据)但它几乎与示例相同。我正在运行 64 位 Sql SErver 2008 SP2 标准版。当我键入查询时,它使用 STIntersection 方法的智能感知并显示一个 (other_geography geography) 示例,因此它知道该方法存在。我正确地关闭了括号并用分号分隔表达式,但我无法弄清楚为什么会出现错误。谷歌搜索无效。

有什么想法吗?

赛斯

最佳答案

STIntersects返回 0 或 1。试试这个:

WHERE c.geog.STIntersects(@Seattle.STBuffer(10 * 1609.344)) = 1

关于sql-server-2008 - SQLServer 空间查询返回错误在预期条件的上下文中指定的非 bool 类型的表达式,接近 ')',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5412526/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com