Ir al contenido

Crono$UnicodeTable

Devuelve la tabla de caracteres UNICODE.

La siguiente consulta muestra algunos caracteres UNICODE.

select
CodePoint,
highSurrogate,
lowSurrogate,
[hex],
[char],
[Unicode]
from Crono$UnicodeTable
where
codepoint between 65 and 69
or codepoint between 0x1F600 and 0x1F607
order by 1
Ver SQL compilado
SELECT
CodePoint,
highSurrogate,
lowSurrogate,
[hex],
[char],
Unicode
FROM
(SELECT
c.num AS CodePoint,
CASE WHEN c.num>65535 THEN convert(char(4),cast(0xD7C0+(c.num/1024) as binary(2)),2) END AS highSurrogate,
CASE WHEN c.num>65535 THEN convert(char(4),cast(0xDC00+(c.num%1024) as binary(2)),2) END AS lowSurrogate,
CONVERT(char(6),CONVERT(binary(3),c.num),2) AS [hex],
CASE WHEN c.num>65535 THEN nchar(CAST(0xD7C0+(c.num/1024) AS int))+nchar(CAST(0xDC00+(c.num%1024) AS int)) ELSE nchar(c.num) END AS [char],
concat('U+',CONVERT(char(6),CONVERT(binary(3),c.num),2)) AS Unicode,
concat('0x',CONVERT(char(6),CONVERT(binary(3),c.num),2)) AS Bin,
concat('&#x',CONVERT(char(6),CONVERT(binary(3),c.num),2)) AS HTML,
CASE
WHEN c.num>65535 THEN concat('nchar(0x',convert(char(4),cast(0xD7C0+(c.num/1024) as binary(2)),2),')+nchar(0x',convert(char(4),cast(0xDC00+(c.num%1024) as binary(2)),2),')')
ELSE concat('nchar(',c.num,')')
END AS TSQL
FROM
(SELECT u1.n+u2.n*10+u3.n*100+u4.n*1000+u5.n*10000+u6.n*100000+u7.n*1000000 num
FROM
(SELECT 0 n UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) u1,
(SELECT 0 n UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) u2,
(SELECT 0 n UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) u3,
(SELECT 0 n UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) u4,
(SELECT 0 n UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) u5,
(SELECT 0 n UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) u6,
(SELECT 0 n UNION SELECT 1) u7
WHERE u1.n+u2.n*10+u3.n*100+u4.n*1000+u5.n*10000+u6.n*100000+u7.n*1000000 BETWEEN 0 AND 1114110) c
WHERE
c.num BETWEEN 0x000000 AND 0x014700
OR c.num BETWEEN 0x016800 AND 0x030000
OR c.num BETWEEN 0x0E0001 AND 0x0E01EF) [Crono$UnicodeTable]
WHERE
CodePoint BETWEEN 65 AND 69
OR CodePoint BETWEEN 0x1F600 AND 0x1F607
ORDER BY 1

El resultado de esta consulta es:

CodePointhighSurrogatelowSurrogatehexcharUnicode
65000041AU+000041
66000042BU+000042
67000043CU+000043
68000044DU+000044
69000045EU+000045
70000046FU+000046
71000047GU+000047
72000048HU+000048
73000049IU+000049
7400004AJU+00004A
7500004BKU+00004B
7600004CLU+00004C
7700004DMU+00004D
7800004ENU+00004E
7900004FOU+00004F
80000050PU+000050
81000051QU+000051
82000052RU+000052
83000053SU+000053
84000054TU+000054
85000055UU+000055
86000056VU+000056
87000057WU+000057
88000058XU+000058
89000059YU+000059
9000005AZU+00005A
128512D83DDE0001F600😀U+01F600
128513D83DDE0101F601😁U+01F601
128514D83DDE0201F602😂U+01F602
128515D83DDE0301F603😃U+01F603
128516D83DDE0401F604😄U+01F604
128517D83DDE0501F605😅U+01F605
128518D83DDE0601F606😆U+01F606
128519D83DDE0701F607😇U+01F607

Esta vista es similar a Crono$UnicodeChars.

La vista Crono$Emojis devuelve únicamente caracteres emojis con información adicional.