标签:seq sep list pymysql server 中括号 str mysql 字符串
问题描述
在MySQL中通过字符串(text)数据类型储存一个列表(数组时),两边带有[]
中括号
导致FIND_IN_SET()
语句无法生效
解决经历
先是简单粗暴的将list转换为str,然后通过切片去除两边的中括号
但单个数据时,不存在中括号,切片会导致数据不完整。
使用for循环逐个添加的话,结尾可能会多一个逗号,处理起来比较复杂
最终解决
后来在网上搜索资料了解到一个python函数
join()函数
语法: ‘sep’.join(seq)
参数说明
sep:分隔符。可以为空
seq:要连接的元素序列、字符串、元组、字典
上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串
返回值:返回一个以分隔符sep连接各个元素后生成的字符串
示例
list=[2021,2020,2019]
liststr = ','.join(str(i) for i in list)
print(liststr)
2021,2020,2019
其他知识
FIND_IN_SET(str,strlist)
str 要查询的字符串
strlist 字段名 参数以”,”分隔 如 (1,2,6,8)
查询字段(strlist)中包含(str)的结果,返回结果为null或记录
标签:seq,sep,list,pymysql,server,中括号,str,mysql,字符串 来源: https://blog.csdn.net/qq_23211951/article/details/113824320
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。