gpt4 book ai didi

mysql - 从字符串 SQL 中提取数字

转载 作者:行者123 更新时间:2023-11-29 07:50:00 25 4
gpt4 key购买 nike

我有一个正常的SQL语句:

SELECT VALUE_ID, UF_CRM_TASK FROM b_uts_tasks_task

现在每次都会返回一个不同的字段,但它们采用以下形式:

a:1:{i:0;s:7:"CO_2012";} or a:1:{i:0;s:5:"CO_12";} or a:1:{i:0;s:7:"CO_2017";}

基本上每次都是不同的。我需要的是获取 CO_ 部分之后的数字。我已经尝试过 TRIM,但因为前导和尾随部分中的所有内容都发生了变化,我认为这不起作用。

我在 Stack Overflow 上查看了一段时间,但找不到它。我知道如何用 PHP 做到这一点:

$data = $row['UF_CRM_TASK'];    
$companyID = substr($data, strpos($data, "CO_") + 1);
$newCompanyID = preg_replace('/[^0-9.]+/', '', $companyID);

但不是 SQL。提前致谢

最佳答案

在 MYSQL 中有点难看:

/*SUBSTRING_INDEX BASED ON CO_ AND THE LAST " - in 2 SUBSTRINGS*/
SELECT `VALUE_ID`, SUBSTRING_INDEX(SUBSTRING_INDEX(`UF_CRM_TASK`, 'CO_', -1), '"', 1) AS `COMPANY_ID` FROM `b_uts_tasks_task`

在 PHP 中你可以只 unserialize() :

$data = unserialize($row['UF_CRM_TASK']);
$companyID = str_replace('CO_', '', $data[0]);

例如:

$data = unserialize('a:1:{i:0;s:5:"CO_12";}');
echo str_replace('CO_', '', $data[0]);
//==> 12

关于mysql - 从字符串 SQL 中提取数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26731486/

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