gpt4 book ai didi

mysql - 如何在同一个表中连接或拆分 VARCHAR 类型的列

转载 作者:行者123 更新时间:2023-11-30 23:00:26 25 4
gpt4 key购买 nike

MySQL:

我有表:id, First_name (varchar), Last_name (varchar);

如何转换为表:id, Name (varchar); ?

表:id,地址(varchar);

转换为:

表:id, Street_name(varchar), house_number(varchar), room_number(varchar);

也就是说,如何连接或拆分VARCHAR类型的列?

最佳答案

1- 加入是直截了当的。如果我们假设您的第一个表是“originalTable”,那么您需要两个连接两个字段并将所有内容放入一个新表中,例如名为 t1:

Select into t1 id, concat(First_name, last_name) as Name
From originalTable

新表 t1 将自动创建,其中包含两个字段(int 和 varchar)。

2- 对于拆分,假设有三个非空​​子字段(Street_name、House_number 和Room_number),可以使用以下SQL 代码:

SELECT 
substring(Address, 1, locate(' ', Address)-1) as Street_name,

substring(
substring(Address FROM locate(' ', Address)+1),
1,
locate(' ', substring(Address FROM locate(' ', Address)+1))-1
) as House_number,

substring(
substring(
Address FROM locate(' ', Address)+1
)
FROM locate(
' ',
substring(Address FROM locate(' ', Address)+1)
)+1
)
as Room_number
From t1

关于这里使用的两个字符串函数(substring和locate)的详细信息,参见MySQL关于字符串函数的文档: http://dev.mysql.com/doc/refman/5.0/en/string-functions.html

关于mysql - 如何在同一个表中连接或拆分 VARCHAR 类型的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24314008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com