2017-02-14 80 views
0
的美国
SELECT Country From Employees 

结果:SQL显示美国成为美国

enter image description here

我想告诉美国,而不是美国

+3

只是'美国',还是你想显示'英国'为'英国'? – HoneyBadger

+1

我使用罗斯文 –

+1

也是英国成为英国 –

回答

2

尝试这个。

SELECT 
CASE Country 
WHEN 'US' THEN 'United States of America' 
WHEN 'UK' THEN 'United Kingdom' 
-- ...any other translation you would like to add here 
ELSE Country 
END AS DisplayCountry 
From Employees 
+0

谢谢,这对我的作品 –

+0

只删除=在“当=‘英国’然后‘英国’” –

1

使用CASE WHEN ... THEN ...

SELECT Country CASE WHEN 'USA' THEN ' United States of America' 
        WHEN 'UK' THEN ' United Kingdom ' 
        ELSE Country 
        END 
FROM Employees 
8

国家名称不在数据库中,所以您必须从某处获取它们。

自然会引入国家表,例如

 
country name 
USA  United States of America 
UK  United Kingdom 
... 

并加入此项。

另一种选择是在查询中显示所有名称,如其他答案中所示。

1
SELECT CASE WHEN [COUNTRY] = 'USA' THEN 'United States Of America' 
WHEN [COUNTRY] = 'UK'THEN 'UNITED KINGDOM' ELSE [COUNTRY] END AS [COUNTRY_FULL] 
FROM [Employees] 

那是一个case语句的例子,你可以使用:

http://www.1keydata.com/sql/sql-case.html

+1

A面注意:列和表名称周围的括号是非标准的,只能在少数DBMS中使用。 –

0

介绍另一个表国家

Code  Full_name 
___________________________________ 
USA  United States of America 
UK  United Kingdom 
etc.... 

然后加入员工国家

SELECT Full_Name FROM Employee e 
LEFT JOIN Country c ON e.country = c.Code