在SQL记录或Python中查找大写字符串

时间:2016-05-01 13:25:24

标签: python sql uppercase

我需要在SQL或Python中找到字符串中用大写latter写的字,如果它们存在的话。

例如,对于字符串:'我的名字是NOA',它将返回NOA。

我想到的漫长道路是使用ascii值: 如果64< chr(i)< 91     如果64< chr(i + 1)< 91 ....

1 个答案:

答案 0 :(得分:0)

您可以使用string_split

假设您有此表:

create table phrases (
    phrase varchar(200)
);

insert into phrases values ('My name is NOA');

然后你可以写:

select      phrase, value as uppercase_word
from        phrases
cross apply string_split(phrase, ' ')
where       upper(value) = value

根据给定的样本数据,它将返回:

phrase         | uppercase_word
---------------+---------------
My name is NOA | NOA

请务必在文档中注意这些信息:

  

STRING_SPLIT功能仅在兼容级别130下可用。如果数据库兼容级别低于130,则SQL Server将无法找到并执行STRING_SPLIT功能。您可以使用以下命令更改数据库的兼容级别:ALTER DATABASE DatabaseName SET COMPATIBILITY_LEVEL = 130