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

时间:2013-06-09 07:38:46

标签: mysql mysqli

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

<?php
    $array = [
        'foobar',
        'helloworld',
        'applebanana'
    ];
?>

从这些字符串中我生成了几个子字符串并将它们放入数据库中:

+-------------+---+
| id | substrings |
+----+------------+
| 1  | bar        |
| 2  | world      |
| 3  | banana     |
+----+------------+

我不能说每个字符串/子字符串有多长,我不能使用分隔符。但我可以说子串总是位于原始的最右边。

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

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

1 个答案:

答案 0 :(得分:1)

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

select * from substr_table where right('foobar', length(substrings)) = substrings

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