我们需要以某种方式区分ALL CAPITAL LETTER WORD和Title word,例如:
[Column 1]
Kenya
MELBOURNE
Japan
SYDNEY
CANBERRA
WOLLONGONG
United States
United Kingdoms
首都词是指城市,标题词是指国家。
我们一直在寻找其他专栏来区分这些事情,但这是我们能够提出的情感因素。
答案 0 :(得分:5)
无论如何,您可以通过将列更改为区分大小写,或者在每次比较时使用COLLATE
子句来执行区分大小写的比较:
DECLARE @x TABLE(c VARCHAR(255));
INSERT @x VALUES
('Kenya'),
('MELBOURNE'),
('Japan'),
('SYDNEY'),
('CANBERRA'),
('WOLLONGONG'),
('United States'),
('United Kingdom');
SELECT city = CASE
WHEN c = UPPER(c) COLLATE Latin1_General_BIN
THEN c ELSE NULL END,
country = CASE
WHEN c <> UPPER(c) COLLATE Latin1_General_BIN
THEN c ELSE NULL END
FROM @x;
结果:
city country
---------- --------------
NULL Kenya
MELBOURNE NULL
NULL Japan
SYDNEY NULL
CANBERRA NULL
WOLLONGONG NULL
NULL United States
NULL United Kingdom
答案 1 :(得分:1)
标识城市,检查文本是否与UPPER
值相同:
select * from table
where [Column 1] = UPPER([Column 1]) COLLATE Latin1_General_CS_AI
请注意,正如Aaron Bertrand正确指出的那样,这取决于整理。