MySQL数据库的一个表截取字符串然后去找另一张表的字段匹配怎么写sql

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL数据库的一个表截取字符串然后去找另一张表的字段匹配怎么写sql相关的知识,希望对你有一定的参考价值。

正常的sql拼接成json还方便。

CONCAT('\"app\":\"time\":\"', DATE_FORMAT(time, "%Y-%m-%d %T"), '\",\"days\":', days,
case when typeTime is null then '' else CONCAT(',\"typeTime\":\"', DATE_FORMAT(typeTime, "%Y-%m-%d %T"), '\"') end,'')
随机文本来了

学富五车:再美的气质,也掩盖不了你才华本质 足智多谋:脑力使用积极分子,非你莫属 仗义执言:你的见解,面面俱到,深入人心 火眼金睛:独特的洞察力,总能获悉一切 见多识广:最美的阅历,就是沿路的风景 责任担当:先天下之忧而忧,后天下之乐而乐

从上面可以看的出,它们之间一一对应的。

唯独那些随机文本着实思考片刻。来,我们层层剖析它。

截取文本

mysql中怎么从数组中取随机的文本,参考substring_index函数。分为两步走,第一步先去倒数开始往前数倒数几位,第二步再从新的数组中取第一位。

substring_index(substring_index(array, '符合间隔', -n), '符合间隔', 1)
构造随机因子

现在再看看这个随机因子怎么取,参考rand()函数。

因为取的是-1到-7之间的随机数。所以最终的效果就是如下。

-floor(rand()*7+1)
取随机范围内的值可以参考这个公式

FLOOR(start_num + RAND() * (end_num - start_num + 1))
开始第一次截取

随机串截取方法有了,随机数也有了,开干。

select user_id, CONCAT('\"desc\": \"label\":\"',
substring_index(substring_index('学富五车;足智多谋;仗义执言;火眼金睛;见多识广;责任担当;乐观积极',';',-FLOOR(rand()*7+1)),';',1),'\"',
',\"description\": \"', substring_index(substring_index('再美的气质,也掩盖不了你才华本质;脑力使用积极分子,非你莫属;你的见解,面面俱到,深入人
参考技术A 子查询即可
SELECT (SELECT name FROM TA WHERE id = TB.id1) AS id1,
(SELECT name FROM TA WHERE id = TB.id2) AS id2
FROM TB

以上是关于MySQL数据库的一个表截取字符串然后去找另一张表的字段匹配怎么写sql的主要内容,如果未能解决你的问题,请参考以下文章

mysql 游标(循环读取一行数据插入到另一张表)

如何将数据从一张表导入到另一张表 - SpringBoot JPA /MySQL

Oracle中怎样用存储过程将一段字符串以逗号为界截取,并将得到的子串存到另一张表中

在 MySQL 中,如何将一张表的内容复制到同一个数据库中的另一张表中?

在 MySQL 中,如何将一张表的内容复制到同一个数据库中的另一张表中?

在 MySQL 中,如何将一张表的内容复制到同一个数据库中的另一张表中?