您如何仅通过获取列中值的第一部分来扩大列中的值?

时间:2019-07-05 15:50:05

标签: sql sql-server

我在表中的列的值格式设置为“公司名称-城市”。我希望能够扩展值并只返回公司名称,而不考虑城市(甚至为城市创建新列)。

当您选择该列时,它看起来像这样

Company
-------
VCA - Chicago
VCA - Atlanta
VCA - Houston

我只想让它返回

Company
-------
VCA
VCA
VCA

我可以做一个案例陈述并遍历所有公司,但这会花费很长时间。

2 个答案:

答案 0 :(得分:1)

您可以使用字符串操作:

select left(company, charindex(' -', company + ' -') - 1)

答案 1 :(得分:0)

LEFT()CHARINDEX()函数用作

SELECT LEFT(Company, CHARINDEX(' -', Company) -1)
FROM (
VALUES
('VCA - Chicago'),
('VCA - Atlanta'),
('VCA - Houston')
) T(Company);