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