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