mysql查询中带逗号,查询结果的问题。

mysql查询中带逗号,查询结果的问题。,第1张

其实啊,你不仅写'1,2'会查出三条数据,就算你写'1ncdsln'或者'1ncskl12397na'之类的也会查出三条,就是Department 等于1的那三条,因为Department是bigint类型,但是你查的时候写的是字符串,这时候mysql就会去字符串前面的数字部分来查询,'312你打开所老'就会截取312这样,因为你的'1,2'不是bigint类型,所以会截取前面的数字,即1来查

mysql查询含逗号的数据,将逗号拆分为多行展示: 原始数据如下: 现在因为新的需求,需要将这些数据转化为如下形式: 假设我们需要处理的表结构为: 使用如下sql语句即可实现需求: 查询的主要思路为,原表与一个包含连续自增长字段的表进行join,得到字符串分隔后的索引值,其中 length( a.name ) - length( REPLACE ( a.name, ',', '' ) ) + 1 语句获得字符串逗号分隔之后得到的数据长度,两表关联之后,会得到相应行数的数据。比如, 在join之后会得到: 之后对查询中的结果,使用substring_index方法进行截取,然后得到我们自己想要的数据。

MYSQL列中的数据查询命令

SELECT *

FROM task_detatils

WHERE FIND_IN_SET( ‘1’, responsible_user)

命令的含义:将含有1的responsible_user列数据全部搜索出来。

采用的是find函数:查找一定范围内元素的个数。查找[first,last)范围内,与toval等价的第一个元素,返回一个迭代器。如果没有这个元素,将返回last。

扩展资料:

其他的查询命令:

在命令后键入搜索的模式,再键入要搜索的文件。其中,文件名列表中也可以使用特殊字符,如“*”等,用来生成文件名列表。

如果想在搜索的模式中包含有空格的字符串,可以用单引号把要搜索的模式括起来,用来表明搜索的模式是由包含空格的字符串组成。

否则,Shell将把空格认为是命令行参数的定界符,而grep命令将把搜索模式中的单词解释为文件名列表中的一部分。在下面的例子中,grep命令在文件example中搜索模式“text file”。

用户可以在命令行上用Shell特殊字符来生成将要搜索的文件名列表。在下面的例子中,特殊字符“*”用来生成一个文件名列表,该列表包含当前目录下所有的文件。该命令将搜索出当前目录下所有文件中与模式匹配的行。

参考资料来源:百度百科-Linux文件内容查询命令

参考资料来源:百度百科-find函数


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

原文地址: http://outofmemory.cn/zaji/8682448.html

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

发表评论

登录后才能评论

评论列表(0条)

保存