gpt4 book ai didi

mysql - 如何将 "limit"中的字符串参数转换为 int

转载 作者:行者123 更新时间:2023-11-29 16:48:21 25 4
gpt4 key购买 nike

SELECT DISTINCT(id) vetid, 
c.clinic_id,
c.clinic_name,
c.type,
c.city,
c.state,
c.country,
c.lat,
c.lng,
c.zip,
( 3959 * Acos( Cos( Radians(44.977498) ) * Cos( Radians( c.lat ) ) * Cos( Radians( c.lng ) - Radians(-93.406556) ) + Sin( Radians(44.977498) ) * Sin( Radians( c.lat ) ) ) ) AS distance
FROM biah_clinics c
WHERE opt_out != '1'
AND c.country = 'US'
HAVING distance < '10'
ORDER BY distance limit cast('20' AS int);

使用 Drupal 的 db_query,传递给查询的所有参数都作为字符串传递。这给了我一个错误。这就是为什么在我的查询中,我想将该参数转换为 INT。

所以它应该像这样结束:

limit cast('20' AS int);
limit 20;

但这在 MySQL 中给了我一个错误:

"SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CAST('25' AS INT)' at line 15"

最佳答案

我最终使用了 drupal 的 db_query_range(),因为 sql 限制不起作用,但对于整数文字。

https://api.drupal.org/api/drupal/includes%21database%21database.inc/function/db_query_range/7.x

关于mysql - 如何将 "limit"中的字符串参数转换为 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52970690/

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