mysql - 换行后插入新列
问题描述
我有一个基本的插入查询,用于将地址从一个表复制到另一个表。对于我从中插入的表,我有一个名为 Address 的列,它需要插入到我的第二个表的 Address1 和 Address2 中。但是,我只希望在任何换行符 (\n) 之后的值table1.address
进入table2.address2
,显然之前的所有内容都会进入table2.address1
. 这可能吗?
INSERT INTO table2.shipin
(address1,
address2)
SELECT
table1.address,
''
FROM schema.table1;
这基本上就是我现在所拥有的一切table2.address1
。
解决方案
根据上面的建议,我使用 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,否则它将返回空白。
推荐阅读
- firebase - Firestore 安全规则 email_verified 不起作用
- javascript - 在 xhttp 删除请求上未定义节点 req.body
- python - 如何使此代码运行得更好/更快(线程或多处理)?怎么做?
- html - React Bootstrap CSS:我希望我的 Container 元素水平填充整个页面的更多部分
- reactjs - 如何更新表 ReactJS 中特定行的状态
- typescript - NestJS 无法解析 JWT_MODULE_OPTIONS 的依赖关系
- java - 如何平滑 UDP 网络中的玩家移动?
- php - 脚本不会排队
- ssl - 只有 TLS_AES_128_GCM_SHA256 密码适用于 TLS 1.3 的 psk 连接吗?
- sql-server - 无法从 SQL Server 代理作业执行 SSIS 包我收到错误“命令行参数无效”