Mysql 如何从数据库中的句子中筛选名称?

Mysql 如何从数据库中的句子中筛选名称?,mysql,Mysql,我想从数据库的字段中查询字符串。例如:字段“地址”,值“金边Toul Kork区”。我想要得到的只是“金边”。我知道我的sql不允许仅从字段中选择此字符串。那么,这样做的好方法是什么呢?这可能会帮助您: SELECT SUBSTR(Address, LOCATE(Value,Address), LENGTH(Address) - LENGTH(Value)); 函数是定位的同义词。您也可以使用POSITION功能: SELECT SUBSTR(Address,

我想从数据库的字段中查询字符串。例如:字段“地址”,值“金边Toul Kork区”。我想要得到的只是“金边”。我知道我的sql不允许仅从字段中选择此字符串。那么,这样做的好方法是什么呢?

这可能会帮助您:

SELECT SUBSTR(Address,
    LOCATE(Value,Address),
    LENGTH(Address) - LENGTH(Value));
函数是
定位
的同义词。您也可以使用
POSITION
功能:

SELECT SUBSTR(Address,
        LOCATE(Value IN Address),
        LENGTH(Address) - LENGTH(Value));
在静态变量中,它看起来像:

SELECT SUBSTR('Toul Kork District,Phnom Penh',
    LOCATE('Phnom Penh','Toul Kork District,Phnom Penh'),
    LENGTH('Toul Kork District,Phnom Penh') - LENGTH('Phnom Penh'));

结果:金边

您是否提前知道要从数据库中获取的所有可能字段(如所有可能的城市)?Rubahmalm-定位方法未定义!如何解决这个问题?@TumLina尝试
POSITION
函数。它与定位类似。我不知道为什么我不能在我的laravel控制器中使用Select substr,它说的是未定义的Select substr。请帮帮我@TumLina请编辑您的问题并提供代码,以及您到目前为止所做的工作。$client=client::select(substr(‘地址’、locate(‘金边’、‘地址’)、LENGTH(‘地址’)—LENGTH(‘金边’)->get();这是我尝试过的代码。