以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教一句sq/的写法  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=187938)

--  作者:rogen
--  发布时间:2023/8/22 10:24:00
--  请教一句sq/的写法
货物表有2个字段: ID、详细信息
详细信息里用竖线|分割存储一些数据 
比如 品名|种类|规格
如何用sql语句将详细信息字段拆分成几个字段
比如 ID,品名,种类,规格

--  作者:有点蓝
--  发布时间:2023/8/22 10:30:00
--  
没有办法,使用代码处理吧
--  作者:z769036165
--  发布时间:2023/8/22 11:28:00
--  
-- 添加新的字段
ALTER TABLE Goods ADD COLUMN Name VARCHAR(255);
ALTER TABLE Goods ADD COLUMN Category VARCHAR(255);
ALTER TABLE Goods ADD COLUMN Specification VARCHAR(255);

-- 更新新字段的值
U PDATE Goods
SET Name = SUBSTRING_INDEX(SUBSTRING_INDEX(Details, \'|\', 1), \'|\', -1),
    Category = SUBSTRING_INDEX(SUBSTRING_INDEX(Details, \'|\', 2), \'|\', -1),
    Specification = SUBSTRING_INDEX(Details, \'|\', -1);