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

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

正常的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('再美的气质,也掩盖不了你才华本质;脑力使用积极分子,非你莫属;你的见解,面面俱到,深入人

有些时候我们需要从一个excel文件中的数据库中提取指定的行或列中的数据

例如如图示,是国内所有上市公司的行业统计。但是现在我们只需要其中部分上市公司的行业统计,我们怎么办呢,是一个个查找,然后复制吗,当然不是。

我们可以做一个表格,只需要把我们需要的公司代码列复制进去就会自动显示其行业统计情况。

也就是从浩如烟云的数据中,提取需要的数据对应的行中的数据。

下面就以我刚刚解决的这个问题为示例详细说明一下。

开启分步阅读模式

工具材料:

excel2013或者其它版本

*** 作方法

01

1,打开源数据文件,把首行中的对应的数据,复制行到空白位置。

02

选中J2单元格,单击编辑栏中的"插入函数“,如图示。

03

d出”插入函数“对话框,设置其类别为”逻辑“,并选择列表框中的IF选项。

然后确定。

04

在d出的”函数参数“对话框中,

设置Logical_test参数为”I2=“”,

将Value_if_true设置为“”,也就是空白内容。

最重要的一步来了:

将Value_if_false参数框中输入“VLOOKUP(I2,

A2:B2846,2),

然后确定。

这个步骤是什么意思呢。就是用if函数判定I2单元格中的内容是不是不是空白。

若是空白,那么J2单元格也是空白。

若不是空白,就执行VLOOKUP函数。在A2:B2846区域中(因为源数据不改动,所以这里用的是相对引用)查找I2单元中的内容,找到后,在J2单元格中返回所找到的内容所在的行的第二列中的数据。

05

经过第4步后,我们在I2单元中输入任意证券代码就会在J2单元中显示其行业了。

那么,现在我们需要的是在I列粘贴进去我们需要的证券代码后,其后会出现源数据所对应的第一行中的内容。所以要接着第6步。

06

选中J2单元格,注意是J2,不是I2哦(I2是我们输入证券代码的地方)

鼠标移动到单元格右下角,出现十字光标时,按住鼠标左键向右拖动到O2单元格。

如图

07

这个时候你就会发现原来源数据中的C2-G2单元格中的内容就会自动填充到K2-O2单元格中。这个时候,如果我们需要的数据是按源数据中的数据从上到下排列的,就可以不用修改了。

直接重复第6步中的方法,把J2-O2每个单元格下拉填充就完成了。

如图示,先把需要的数据列复制到I列中,然后依次下拉填充。

08

但有时候,如果我们需要的不是按照源数据中的排序,比如说,回到我们现在用的这个例子,如果在I3中,输入000002就会出错。如图示。

这是为什么呢,看一下J3中的公式就明白了。j3中的函数为VLOOKUP(I3,A3:B2847,2))

也就是搜索从A3到B2487区域中的内容。没有包含A2,所以我们输入000002在源数据中找不到。

所以使用这个方法前,要先对需要的数据按源数据进行排序。不然,是不准确的。

以上就是关于MySQL数据库的一个表截取字符串然后去找另一张表的字段匹配怎么写sql全部的内容,包括:MySQL数据库的一个表截取字符串然后去找另一张表的字段匹配怎么写sql、excel中,我现在有一行数据,需要一个公式,设置多个参数,若出现以上参数,直接提取!(同一表中)、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9762295.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存