我有一个基本的插入查询,用于将地址从一个表复制到另一个表。对于要从中插入的表,我只有一个称为Address的列,需要将该列插入第二个表的Address1和Address2中。但是,我只希望table1.address
中的任何换行符(\ n)之后的值都进入table2.address2
,显然之前的所有内容都将进入table2.address1
。这可能吗?
INSERT INTO table2.shipin
(address1,
address2)
SELECT
table1.address,
''
FROM schema.table1;
这基本上是我现在拥有的所有内容都进入table2.address1
的地方。
答案 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,否则它将返回空白。