在换行后插入新列

时间:2018-07-20 15:11:58

标签: mysql

我有一个基本的插入查询,用于将地址从一个表复制到另一个表。对于要从​​中插入的表,我只有一个称为Address的列,需要将该列插入第二个表的Address1和Address2中。但是,我只希望table1.address中的任何换行符(\ n)之后的值都进入table2.address2,显然之前的所有内容都将进入table2.address1。这可能吗?

INSERT INTO table2.shipin
  (address1,
  address2)
SELECT
  table1.address,
  ''
FROM schema.table1;

这基本上是我现在拥有的所有内容都进入table2.address1的地方。

1 个答案:

答案 0 :(得分:0)

根据以上建议,我使用substring_index完成了我想要的,这是最终的解决方案:

Select
substring_index(table1.address, '\n', +1) AS `Address1`,
IF(table1.address REGEXP '\n',
    substring_index(table1.address, '\n', -1),
    '') AS `Address2`,

对于地址1,这会将任何内容放在该列中的换行符之前;对于地址2,如果地址中具有换行,则它将任何内容都放在该提要之后到地址2,否则它将返回空白。