22,210
社区成员
发帖
与我相关
我的任务
分享
--不知道是不是你要的
--1.建表
CREATE TABLE word
(
[key] NVARCHAR(10),
[code] INT,
[value] VARCHAR(10)
)
--2.插入数据
insert into word values(N'Ā',256,'A')
insert into word values(N'ā',257,'a')
insert into word values(N'Ă',258,'A')
insert into word values(N'ă',259,'a')
insert into word values(N'Ą',260,'A')
insert into word values(N'ą',261,'a')
insert into word values(N'Ć',262,'C')
insert into word values(N'ć',263,'c')
insert into word values(N'Ĉ',264,'C')
insert into word values(N'ĉ',265,'c')
insert into word values(N'Ċ',266,'C')
insert into word values(N'ċ',267,'c')
insert into word values(N'Č',268,'C')
insert into word values(N'č',269,'c')
insert into word values(N'Ď',270,'D')
insert into word values(N'ď',271,'d')
insert into word values(N'Đ',272,'D')
insert into word values(N'đ',273,'d')
insert into word values(N'Ē',274,'E')
insert into word values(N'ē',275,'e')
insert into word values(N'Ĕ',276,'E')
insert into word values(N'ĕ',277,'e')
insert into word values(N'Ė',278,'E')
insert into word values(N'ė',279,'e')
insert into word values(N'Ę',280,'E')
insert into word values(N'ę',281,'e')
insert into word values(N'Ě',282,'E')
insert into word values(N'ě',283,'e')
insert into word values(N'Ĝ',284,'G')
insert into word values(N'ĝ',285,'g')
insert into word values(N'Ğ',286,'G')
insert into word values(N'ğ',287,'g')
insert into word values(N'Ġ',288,'G')
insert into word values(N'ġ',289,'g')
insert into word values(N'Ģ',290,'G')
insert into word values(N'ģ',291,'g')
insert into word values(N'Ĥ',292,'H')
insert into word values(N'ĥ',293,'h')
insert into word values(N'Ħ',294,'H')
insert into word values(N'ħ',295,'h')
insert into word values(N'Ĩ',296,'I')
insert into word values(N'ĩ',297,'i')
insert into word values(N'Ī',298,'I')
insert into word values(N'ī',299,'i')
insert into word values(N'Ĭ',300,'I')
insert into word values(N'ĭ',301,'i')
insert into word values(N'Į',302,'I')
insert into word values(N'į',303,'i')
insert into word values(N'İ',304,'I')
insert into word values(N'ı',305,'i')
insert into word values(N'IJ',306,'IJ')
insert into word values(N'ij',307,'ij')
insert into word values(N'Ĵ',308,'J')
insert into word values(N'ĵ',309,'j')
insert into word values(N'Ķ',310,'K')
insert into word values(N'ķ',311,'k')
insert into word values(N'ĸ',312,'kra')
insert into word values(N'Ĺ',313,'L')
insert into word values(N'ĺ',314,'l')
insert into word values(N'Ļ',315,'L')
insert into word values(N'ļ',316,'l')
insert into word values(N'Ľ',317,'L')
insert into word values(N'ľ',318,'l')
insert into word values(N'Ŀ',319,'L')
insert into word values(N'ŀ',320,'l')
insert into word values(N'Ł',321,'L')
insert into word values(N'ł',322,'l')
insert into word values(N'Ń',323,'N')
insert into word values(N'ń',324,'n')
insert into word values(N'Ņ',325,'N')
insert into word values(N'ņ',326,'n')
insert into word values(N'Ň',327,'N')
insert into word values(N'ň',328,'n')
insert into word values(N'ʼn',329,'N')
insert into word values(N'Ŋ',330,'n')
insert into word values(N'ŋ',331,'eng')
insert into word values(N'Ō',332,'O')
insert into word values(N'ō',333,'o')
insert into word values(N'Ŏ',334,'O')
insert into word values(N'ŏ',335,'o')
insert into word values(N'Ő',336,'O')
insert into word values(N'ő',337,'o')
insert into word values(N'Œ',338,'OE')
insert into word values(N'œ',339,'oe')
insert into word values(N'Ŕ',340,'R')
insert into word values(N'ŕ',341,'r')
insert into word values(N'Ŗ',342,'R')
insert into word values(N'ŗ',343,'r')
insert into word values(N'Ř',344,'R')
insert into word values(N'ř',345,'r')
insert into word values(N'Ś',346,'S')
insert into word values(N'ś',347,'s')
insert into word values(N'Ŝ',348,'S')
insert into word values(N'ŝ',349,'s')
insert into word values(N'Ş',350,'S')
insert into word values(N'ş',351,'s')
insert into word values(N'Š',352,'S')
insert into word values(N'š',353,'s')
insert into word values(N'Ţ',354,'T')
insert into word values(N'ţ',355,'t')
insert into word values(N'Ť',356,'T')
insert into word values(N'ť',357,'t')
insert into word values(N'Ŧ',358,'T')
insert into word values(N'ŧ',359,'t')
insert into word values(N'Ũ',360,'U')
insert into word values(N'ũ',361,'u')
insert into word values(N'Ū',362,'U')
insert into word values(N'ū',363,'u')
insert into word values(N'Ŭ',364,'U')
insert into word values(N'ŭ',365,'u')
insert into word values(N'Ů',366,'U')
insert into word values(N'ů',367,'u')
insert into word values(N'Ű',368,'U')
insert into word values(N'ű',369,'u')
insert into word values(N'Ų',370,'U')
insert into word values(N'ų',371,'u')
insert into word values(N'Ŵ',372,'W')
insert into word values(N'ŵ',373,'w')
insert into word values(N'Ŷ',374,'Y')
insert into word values(N'ŷ',375,'y')
insert into word values(N'Ÿ',376,'Y')
insert into word values(N'Ź',377,'Z')
insert into word values(N'ź',378,'z')
insert into word values(N'Ż',379,'Z')
insert into word values(N'ż',380,'z')
insert into word values(N'Ž',381,'Z')
insert into word values(N'ž',382,'z')
insert into word values(N'ſ',383,'s')
--3.创建函数
CREATE FUNCTION fn_toEnglish(@Val nvarchar(4000))
RETURNS nvarchar(4000)
AS
BEGIN
DECLARE @Rst NVARCHAR(4000)=''
DECLARE @I INT=1
DECLARE @cnt INT= LEN(@Val)
DECLARE @Tmp NVARCHAR(1)
WHILE @I<=@cnt
BEGIN
SET @Tmp=SUBSTRING(@Val,@I,1)
IF UNICODE(@Tmp) BETWEEN 256 AND 383
SELECT @Rst=@Rst+value FROM word WHERE code= UNICODE(@Tmp)
ELSE
SET @Rst=@Rst+@Tmp
SET @I=@I+1
END
RETURN @Rst
END
--4.测试
SELECT dbo.fn_toEnglish(N'ĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſ')
--AaAaAaCcCcCcCcDdDdEeEeEeEeEeGgGgGgGgHhHhIiIiIiIiIiIJijJjKkkraLlLlLlLlLlNnNnNnNnengOoOoOoOEoeRrRrRrSsSsSsSsTtTtTtUuUuUuUuUuUuWwYyYZzZzZzs
SELECT dbo.fn_toEnglish(N'TrikātaĀ')
--TrikataA