我在一些我认为必须非常简单的事情上遇到了一些麻烦。
我有一个包含以下内容的表格:
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 = 'LA' city_name = 'ROCHELLE'
我想创建一个包含 city_article 和 city_name 连接的新列,用“-”分隔,并用相同的“-”替换每个空格。
因此,如果我们在 city_article = 'THE' city_name = 'NEW YORK' 中使用类似 'THE NEW YORK' 的内容
第三列是 city_concatenated = 'THE-NEW-YORK'
诀窍是,由于不是所有城市都有文章,我不希望像'PARIS'这样的城市在手术后变成'-PARIS'。
有没有这样的方法可以轻松做到这一点?
TL; DR:我如何创建一个新列,其中包含其他 2 个列的结果,其中一个可以为 NULL,另一个必须将每个空格替换为“-”,而不需要在不需要的地方放置“-”,因为没有第一个字段。