【发布时间】:2013-02-24 07:38:11
【问题描述】:
我在一些我认为一定很简单的事情上遇到了一些麻烦。
我有一个表格,其中包含:
CREATE TABLE cities(
city_id INT PRIMARY KEY,
city_article TEXT,
city_name TEXT
);
因此,city_name 是一个简单的字段,例如名称为“PARIS”或“NEW YORK”。 city_article 大部分是空的,除了一些城市(比如法国城市)需要在他们前面写一篇文章,比如在数据库中设置为 'LA ROCHELLE' city_article = '洛杉矶' city_name = '罗谢尔'
我想创建一个包含 city_article 和 city_name 连接的新列,用“-”分隔,并用相同的“-”替换每个空格。
所以如果我们把像“纽约”这样的东西分开 city_article = 'THE' city_name = '纽约'
第三列是 city_concatenated = '纽约'
诀窍是因为不是所有城市都有文章,所以我不希望'PARIS'这样的城市在手术后变成'-PARIS'。
有没有这样的方法可以轻松做到这一点?
TL;DR:如何创建一个新列,其中包含 2 个其他列的结果,其中一个可以为 NULL,另一个必须将每个空格替换为 '-' 而不是在它不是的地方放置一个 '-'由于缺少第一个字段而需要。
【问题讨论】:
标签: mysql sql database concatenation