0

PHPスクリプトで定義されたいくつかの文字列があります:

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

これらの文字列から、いくつかの部分文字列を生成し、データベースに入れました。

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

各文字列/部分文字列の長さはわかりませんし、区切り文字も使用できません。しかし、部分文字列は常に元の文字列の右端に配置されていると言えます。

だから私が知りたいのは、長い文字列を使用して、データベース内の短い部分文字列を見つけるにはどうすればよいですか?

注: データベース内の部分文字列の長さが分からないため、実際には substring() または right() を使用できません。

4

1 に答える 1

2

あなたが持っている任意の文字列が与えられた場合でも、次のものrightと組み合わせて使用​​ できますlenght

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

ただし、これはひどいアプリケーション設計のように思えます。

于 2013-06-09T07:48:09.657 に答える