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 阅读 8 次 更新于 2025-07-21 07:58:51 我来答关注问题0
  • 开始第一次截取 随机串截取方法有了,随机数也有了,开干。select user_id, CONCAT('\"desc\": {\"label\":\"',substring_index(substring_index('学富五车;足智多谋;仗义执言;火眼金睛;见多识广;责任担当;乐观积极',';',-FLOOR(rand()*7+1)),';',1),'\"',',\"description\": ...

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

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

  •  腾云新分享 SQL如何截取字符?

    在SQL中,我们可以使用SUBSTRING函数来截取字符串的一部分。例如,如果你想从某个字段的第8位开始截取1位字符,可以使用以下语句:select SUBSTRING([字段名],8,1) FROM [表名]这里,8代表起始位置,1代表截取的长度。如果需要截取多位字符,只需将1改为相应的数字即可。例如,若需要截取第8位到第10...

  •  文暄生活科普 如何通过SQL截取指定字段某一个字符的前面或后面的字符串?

    对于截取"."字符后面的字符串,同样使用SQL Server,只需调整SQL语句,从"."字符后一位开始取值,至字段结尾。结果为"2",长度为字段总长度减去"."字符所在位置。在Oracle数据库中,截取"."字符前面和后面的字符串的实现方式与SQL Server相似,同样需要调整SQL语句以对应不同截取需求。对于Mysql数据库...

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

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

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

mySQL相关话题

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