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数据库的一个表截取字符串然后去找另一张表的字段匹配怎么写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('再美的气质,也掩盖不了你才华本质;脑力使用积极分子,非你莫属;你的见解,面面俱到,深入人2020-11-19
子查询即可
SELECT (SELECT name FROM TA WHERE id = TB.id1) AS id1,
(SELECT name FROM TA WHERE id = TB.id2) AS id2
FROM TB2019-03-25
mengvlog 阅读 244 次 更新于 2025-10-31 02:16:44 我来答关注问题0
  • 开始第一次截取 随机串截取方法有了,随机数也有了,开干。select user_id, CONCAT('\"desc\": {\"label\":\"',substring_index(substring_index('学富五车;足智多谋;仗义执言;火眼金睛;见多识广;责任担当;乐观积极',';',-FLOOR(rand()*7+1)),';',1),'\"',',\"description\": ...

  • MySQL的`SUBSTRING()`函数提供了基本的字符串截取功能,通过`pos`参数指定开始位置,通过`len`参数指定截取长度。`SUBSTRING(str, pos, len)`和`SUBSTRING(str FROM pos FOR len`均实现相同功能。支持使用负`pos`值从字符串末尾开始计数。实例 考虑一个`user`表,其中`jlid`字段存储用户ID。若想通过...

  •  深空见闻 数据库字段中截取部分内容

    在MySQL数据库中:LEFT(str, length):用于从左开始截取字符串。例如,要截取content字段的前200个字符,可以使用SELECT LEFT(content,200) AS abstract FROM user。RIGHT(str, length):用于从右开始截取字符串。例如,SELECT RIGHT(content,200) AS abstract FROM my_content_t会截取content字段的最后2...

  •  云易网络科技 sql截取特定字符前的数据

    在SQL中,截取特定字符前的数据通常可以通过`LEFT`函数结合`CHARINDEX`(在某些数据库如SQL Server中)或`INSTR`(在MySQL中)等函数来实现。具体方法取决于你所使用的数据库系统。以SQL Server为例,如果你想从一个字符串字段中截取某个特定字符(比如逗号`','`)前的所有数据,你可以使用`LEFT`函数...

  •  阿暄生活 mysql截取字段前几位

    在MySQL数据库中,当你需要从一个较长的字段中取得前几位的值,可以使用`SUBSTRING`函数。这个函数允许你指定从哪个位置开始截取,以及要截取的长度。SUBSTRING函数的用法 `SUBSTRING`函数有三个参数:字段名、起始位置和截取长度。字段名:指的是你要从中截取值的数据字段。起始位置:这是截取字符串的...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部