如何在MySQL中找到可变长度的子字符串?

如何在MySQL中找到可变长度的子字符串?,mysql,mysqli,Mysql,Mysqli,我在php脚本中定义了几个字符串: <?php $array = [ 'foobar', 'helloworld', 'applebanana' ]; ?> 我不能说每个字符串/子字符串的长度,也不能使用分隔符。但我可以说,子字符串总是位于原始字符串的最右边 所以我想知道的是,如何使用较长的字符串在数据库中查找较短的子字符串 注意:我不能真正使用substring()或right(),因为我不知道数据库中的子字符串的长

我在php脚本中定义了几个字符串:

<?php
    $array = [
        'foobar',
        'helloworld',
        'applebanana'
    ];
?>
我不能说每个字符串/子字符串的长度,也不能使用分隔符。但我可以说,子字符串总是位于原始字符串的最右边

所以我想知道的是,如何使用较长的字符串在数据库中查找较短的子字符串


注意:我不能真正使用substring()或right(),因为我不知道数据库中的子字符串的长度。

如果您有任何字符串,您仍然可以将
right
lenght
结合使用:

从substr_表中选择*,其中right('foobar',length(substring))=substring


然而,这听起来像是一个糟糕的应用程序设计

我不确定我是否理解您试图实现的目标(在一些示例数据上描述最终算法的过程会有所帮助),但我相信您正在寻找。发布一些应该搜索的示例数据和期望的结果。好吧,我正在做的是通过php接收传入的请求,该请求包含任何随机域,使用
parse_url()
将其剥离到主机,然后决定此域是否应剥离其子域(通过使用数据库),或者是否应将其重新映射/转换为另一个域。我提出了这个解决方案,我不想依赖分隔符,据我所知,我认为这适合我正在做的事情,但如果你或任何人能想出更好的方法,那么我很想知道+干杯,这个问题起作用了。
+-------------+---+
| id | substrings |
+----+------------+
| 1  | bar        |
| 2  | world      |
| 3  | banana     |
+----+------------+