将 MySQL 过程与函数一起使用

Posted

技术标签:

【中文标题】将 MySQL 过程与函数一起使用【英文标题】:Use MySQL Procedure along with a Function 【发布时间】:2014-01-15 17:05:30 【问题描述】:

我有一个完整的用户定义函数CalculateDistance,它将计算提供的邮政编码与函数内邮政编码之间的距离。

我想知道是否有某种方法可以使用这个函数来创建一些额外的数据。我想要一个查询,它可以从数据库中获取所有数据,并提供这个距离计算。

简单来说,我有一个充满出租物业的数据库,属性是:NameDescriptionPostcode。我还有其他一些我已经剥离的属性。我希望能够像这样在 php 中调用查询:

$query = mysqli_query($con,"SELECT * FROM Properties WITH DistanceTo = CalculateDistance(Postcode) ORDER BY ID ASC"));
while($PropertyInfo = mysqli_fetch_array($query))
echo $PropertyInfo['Name'];
    echo $PropertyInfo['DistanceTo'];

【问题讨论】:

WITH 不应该是 WHERE 【参考方案1】:

要显示距离并按距离过滤,您的查询应该类似于

SELECT p.*, CalculateDistance(p.Postcode) [Distance]
FROM Properties p
WHERE p.DistanceTo = CalculateDistance(p.Postcode) 
ORDER BY ID ASC

【讨论】:

以上是关于将 MySQL 过程与函数一起使用的主要内容,如果未能解决你的问题,请参考以下文章

Mysql存储过程和函数

如何将 MySQLi 准备好的语句与存储过程一起使用

17-mysql基础-mysql中的函数

17-mysql基础-mysql中的函数

Linux学习-存储过程及函数

Linux学习-存储过程及函数