换行后插入新列

anauzrmj  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(332)

我有一个基本的insert-into查询,用于将地址从一个表复制到另一个表。对于从中插入的表,我有一个名为address的列,需要插入到第二个表的address1和address2中。但是,我只需要中任何换行符(\n)之后的值 table1.address 进入 table2.address2 显然以前的一切 table2.address1 . 这可能吗?

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

这就是我现在所拥有的一切 table2.address1 .

dm7nw8vv

dm7nw8vv1#

基于上面的建议,我使用substring\u index来完成我想要的,这里是最终的解决方案:

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

对于address1,它将任何内容放在列的换行符之前,对于address2,如果地址中有换行符,它将把换行符之后的任何内容放在address2中,否则它将返回空白。

相关问题