如何在sql server的表中仅查找日语名称和英语名称数据

如何在sql server的表中仅查找日语名称和英语名称数据,sql,sql-server,database,Sql,Sql Server,Database,我有一个Sql Server表,其中加载了来自两种语言名称的数据。说日语,英语 如何从该表中识别语言及其相关数据? 如何仅提取日本数据?我试过了,但这个命令不起作用 如何只提取英文数据?我尝试使用名“%[^!-~]%” 在填充之后,我需要在2个diff列中分隔日语和英语名称 样本: 对于英语,我尝试了-名字像“%[^!-~]%” 对于日语,我试过-名字像“[^A-Z]%” 挑选 第一个名字如“[^A-Z]%”则为第一个名字 以日本名字结尾 来自所有用户 样本表 id | firstname 1

我有一个Sql Server表,其中加载了来自两种语言名称的数据。说日语,英语

如何从该表中识别语言及其相关数据? 如何仅提取日本数据?我试过了,但这个命令不起作用 如何只提取英文数据?我尝试使用名“%[^!-~]%” 在填充之后,我需要在2个diff列中分隔日语和英语名称

样本:

对于英语,我尝试了-名字像“%[^!-~]%” 对于日语,我试过-名字像“[^A-Z]%”

挑选 第一个名字如“[^A-Z]%”则为第一个名字

以日本名字结尾 来自所有用户

样本表

id | firstname 
1  |  steven 
2  |  佳恵
3  |  Yoshie 
4  | Fruit south  
5  |  果南
我需要一个查询来生成: 这有可能吗

id     |  firstname_english |  firstname_Japanese 
1      |  steven            |   null
2      |   null             |  佳恵
3      |  Yoshie            |  null
4      | Fruit south        | null
5      |    null            |  果南

一个想法是将
值转换为
varchar
(假设您没有使用日文排序规则)。如果之后它们包含
“?”
,则您知道该值包含排序规则之外的unicode字符,因此可以假定其中包含汉字字符:

SELECT ID,
       CASE WHEN CONVERT(varchar(100),REPLACE(YT.FirstName,'?','')) NOT LIKE '%?%' THEN YT.FirstName END AS RomanjiName,
       CASE WHEN CONVERT(varchar(100),REPLACE(YT.FirstName,'?','')) LIKE '%?%' THEN YT.FirstName END AS KanjiName
FROM (VALUES(1,N'steven'),
            (2,N'佳恵'),
            (3,N'Yoshie'),
            (4,N'Fruit south'),
            (5,N'果南'))YT(ID,FirstName);