将数据从一列插入另一列的末尾,但不包括部分插入内容

时间:2019-04-30 22:06:53

标签: mysql sql database

因此,我试图将数据从一列(网站URL)插入另一列(搜索字词),而不会弄乱已插入列中的数据,因此我希望将数据插入到末尾。但是,我也想删除部分插入的数据。

因此,表名称为“ listings”,并且该表当前如下所示: enter image description here

我希望表格如下所示: enter image description here

现在,难点是我不确定如何删除可能的http://和https://(或任何斜杠(http:test.com/)),我也需要在逗号之前添加逗号域,因此将插入“ https://dog.com”,例如“ dog.com”

我知道我可以做到,但是其余的我真的很努力。

INSERT INTO listings (search_text) SELECT www FROM listings;

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您需要UPDATE表,而不是INSERT新行。
可以使用TRIM()

update listings
set search_text = concat(
  search_text,
  ',',
  trim('/' from trim(leading 'http:' from trim(leading 'https:' from www)))  
);

请参见demo
结果:

| www              | search_text                     |
| ---------------- | ------------------------------- |
| http://test.com/ | address,city,state,zip,test.com |
| https://one.com/ | address,city,state,zip,one.com  |