如何在SQL中使用像"explode"这样的PHP方法

  • 本文关键字:explode 方法 PHP SQL php sql
  • 更新时间 :
  • 英文 :


我正在尝试获取一些数据,在表中,有一个名为"sysload"的字段。但是,它是一个变量(字符串(类型。其中的数据就像"0.0,0.2,0.5",三个数字用逗号分隔。但是,在sql中,我只需要最后一个数字(在本例中:0.5(即可在"where"中进行比较。那么我该如何使用它呢?我的代码:

$termquery=mysql_query("SELECT a.terminal FROM terminal_server_log a
inner join
(
SELECT  terminal, MAX(timestamp) timestamp
FROM    terminal_server_log
group by terminal
) b on (b.terminal=a.terminal and a.timestamp=b.timestamp)
WHERE explode(',', sysload)[2]>$number");

最后一行是最重要的一行,我想与"$number"进行比较,但似乎我不能使用"爆炸"。谢谢

您可以使用正则表达式来匹配 sysload 列的最后一个元素:https://dev.mysql.com/doc/refman/8.0/en/regexp.html#function_regexp-instr

另请查看 CAST(( 函数,因为提取的子字符串应转换为数值以允许与数字进行比较。

PHP 函数在 SQL 查询中不起作用。

您可以从查询中删除此过滤器并在 php 端进行过滤器,也可以使用一些 mysql 字符串函数创建自定义分解函数。

在此链接中有一个示例:(我没有检查它是否有效( 相当于 explode(( 来处理 MySQL 中的字符串

相关内容

  • 没有找到相关文章

最新更新