关于mysql数据库将一列分成两列的方法
name天津=李梦上海=张小北京=李华我现在想要的结果是将一列分成两列cityname天津李梦上海张小北京李华怎样能做到批量实现,上千万条记录多谢了,很着急...
name
天津=李梦
上海=张小
北京=李华
我现在想要的结果是将一列分成两列
city name
天津 李梦
上海 张小
北京 李华
怎样能做到批量实现,上千万条记录
多谢了,很着急 展开
天津=李梦
上海=张小
北京=李华
我现在想要的结果是将一列分成两列
city name
天津 李梦
上海 张小
北京 李华
怎样能做到批量实现,上千万条记录
多谢了,很着急 展开
3个回答
展开全部
可用substring函数。
如某个表中只有一个字段:
ID
123abc
456def
890ghi
现在要将前三位为一个字段,起名为id1,后3位是另一个字段,起名叫id2。可用如下语句:
select substring(id,1,3) id1,substring(id,4,3) id2 from 表名
结果如下:
id1 id2
123 abd
456 def
890 ghi
substring函数说明,一共需要3个参数,其中,第一个参数为要截取的字符串,第二个参数为截取的起始位置,第三个参数为截取的长度。
展开全部
SELECT SUBSTRING_INDEX(name, '=', 1) AS city, SUBSTRING_INDEX(name, '=', -1) AS name FROM TB_USER;
上面那个是用于查询的,如果是想修改数据库,则用下面的语句:
ALTER TABLE TB_USER
ADD COLUMN city VARCHAR(16) NULL;
UPDATE TB_USER SET city = SUBSTRING_INDEX(name, '=', 1),
name = SUBSTRING_INDEX(name, '=', -1);
上面那个是用于查询的,如果是想修改数据库,则用下面的语句:
ALTER TABLE TB_USER
ADD COLUMN city VARCHAR(16) NULL;
UPDATE TB_USER SET city = SUBSTRING_INDEX(name, '=', 1),
name = SUBSTRING_INDEX(name, '=', -1);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、新建city字段
2、从原name字段读出数据,使用字符处理函数,可以把"="当作定界符分成一个数组。
3、用新得到的数组分别更新两个字段。
2、从原name字段读出数据,使用字符处理函数,可以把"="当作定界符分成一个数组。
3、用新得到的数组分别更新两个字段。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询