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

标签 mysql

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

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

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

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

我无法说出每个字符串/子字符串的长度,并且无法使用分隔符。但我可以说子字符串始终位于原始字符串的最右侧。

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

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

最佳答案

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

从 substr_table 中选择 *,其中 right('foobar', length(substrings)) = 子字符串

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

关于mysql - 如何在 MySQL 中找到可变长度子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17007470/

相关文章:

mysql - 在不填充数据的脚本中加载数据本地INFILE(mysql)

MySQL EXISTS() 真的很慢

mysql - 按周分组给出不准确的结果

MySQL my.cnf 文件 - 找到没有前面组的选项

MySQL 将两个表合并在一起

MySQL 连接只能通过命令行工作

mysql - VB.net与MYSQL5连接

mysql - centos mysql5.5通过puppet安装

mysql - SQL 合并重复行并连接不同的值

mysql - 使用 wamp 的 Mysql 进行 Ruby on Rails