mysql-将列合并为一个大列
我有一张有地址的桌子。。。 街道地址、城市、州和邮政编码mysql-将列合并为一个大列,sql,mysql,Sql,Mysql,我有一张有地址的桌子。。。 街道地址、城市、州和邮政编码 我需要街道地址、城邦和邮政编码在一列中任何想法你都可以找到 SELECT CONCAT(address, ' ', city, ', ', state, ' ', zip) FROM table; 如果您想在将来或对其他用户使这更方便,请考虑创建表的视图,并将其作为名为“位置”的列提供。 < p>您可以只将它们提交到。 SELECT CONCAT(address, ' ', city, ', ', state, ' ', zip)
我需要街道地址、城邦和邮政编码在一列中任何想法你都可以找到
SELECT CONCAT(address, ' ', city, ', ', state, ' ', zip) FROM table;
如果您想在将来或对其他用户使这更方便,请考虑创建表的视图,并将其作为名为“位置”的列提供。
< p>您可以只将它们提交到。SELECT CONCAT(address, ' ', city, ', ', state, ' ', zip) FROM table;
如果您想在以后或其他用户中使这更方便,请考虑创建表的视图,并将其作为名为“位置”的列提供。
< P>如果需要在表中存储合并的值,请使用UPDATE address SET bigcolumn = CONCAT(streetaddress, ', ', city, ', ', state, ' ', zip);
如果需要在表中存储合并的值,请使用
UPDATE address SET bigcolumn = CONCAT(streetaddress, ', ', city, ', ', state, ' ', zip);
这将有助于您:
将列值与所需的分隔符连接。
因此,您案例中的示例查询可以是:
SELECT CONCAT(street-address, '\n', city, ', ',state,'-',zip) as full_address FROM table;
这将有助于您:
将列值与所需的分隔符连接。
因此,您案例中的示例查询可以是:
SELECT CONCAT(street-address, '\n', city, ', ',state,'-',zip) as full_address FROM table;
我也不建议你把所有这些列放在一个列中。您可能希望稍后按城市、州或其他单个列进行搜索,并将它们作为单独的字段进行搜索会容易得多。您可以按照前面的建议将字段作为SELECT语句的一部分进行连接,或者更好的做法是,如果这是一项经常执行的操作,您可以创建一个将字段连接在一起的视图,然后选择该视图,或者,您可以简单地创建一个存储函数,该函数将包含字段并作为SELECT语句的一部分调用该函数。这样的办法应该行得通
CREATE FUNCTION CONCAT_ADDRESS (p_id INT)
RETURNS VARCHAR(255)
BEGIN
DECLARE v_street,v_city,v_state,v_zip, address VARCHAR(255);
SELECT street_address, city, state, zip
INTO v_street,v_city,v_state,v_zip
FROM table WHERE id = p_id;
SET address = CONCAT(v_street,', ', v_city,', ', v_state,', ', v_zip);
RETURN address;
END |
创建函数后,您可以随时将其用作SELECT语句的一部分,如中所示:
SELECT id, name, surname, CONCAT_ADDRESS(id) FROM table;
我也不建议你把所有这些列放在一个列中。您可能希望稍后按城市、州或其他单个列进行搜索,并将它们作为单独的字段进行搜索会容易得多。您可以按照前面的建议将字段作为SELECT语句的一部分进行连接,或者更好的做法是,如果这是一项经常执行的操作,您可以创建一个将字段连接在一起的视图,然后选择该视图,或者,您可以简单地创建一个存储函数,该函数将包含字段并作为SELECT语句的一部分调用该函数。这样的办法应该行得通
CREATE FUNCTION CONCAT_ADDRESS (p_id INT)
RETURNS VARCHAR(255)
BEGIN
DECLARE v_street,v_city,v_state,v_zip, address VARCHAR(255);
SELECT street_address, city, state, zip
INTO v_street,v_city,v_state,v_zip
FROM table WHERE id = p_id;
SET address = CONCAT(v_street,', ', v_city,', ', v_state,', ', v_zip);
RETURN address;
END |
创建函数后,您可以随时将其用作SELECT语句的一部分,如中所示:
SELECT id, name, surname, CONCAT_ADDRESS(id) FROM table;