gpt4 book ai didi

mysql - 在 MySQL 中的 WHERE 子句上使用 SUBSTRING 和 ROUND

转载 作者:行者123 更新时间:2023-11-29 06:57:10 25 4
gpt4 key购买 nike

有下表

name | latitude | longitude
---------------------------
A | 20.123 | 114.8965
B | 1.987 | -0.39123

对于给定的输入 (myinput),例如 20.1,我想知道它是否已存在于表格中。

这意味着我需要获取纬度(或经度,但为了简化问题,我们只关注纬度)表的每一行,获取第一个小数并将其四舍五入到上限值,然后与输入进行比较。

像这样的东西,当然不起作用:

SELECT *
FROM mytable
WHERE substring(ROUND(latitude, 1), 1, 3) = myinput
/\ /\
the problem with this values are that the length is variable (20.123, 114, 8965, -0.39, etc.)

我在这里所做的是:

  • 获取 A 的纬度:20.123
  • 四舍五入:到上限值:20.123
  • 将其修剪到第一位小数:20.1
  • 将其与输入进行比较:20.1 = 20.1。好的!

有什么想法可以实现我的目标吗?也许不使用 SUBSTRING 并使用正则表达式来获取点后的数字?我不在乎是否必须使用任何其他功能。

提前致谢。

最佳答案

只需将精确到一位小数的输入与四舍五入到一位小数的纬度列进行比较即可:

SELECT *
FROM mytable
WHERE ROUND(latitude, 1) = myinput

关于mysql - 在 MySQL 中的 WHERE 子句上使用 SUBSTRING 和 ROUND,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45140222/

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