Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik: SQL Server 2025 (17.x)
Azure SQL Database
Azure SQL Managed Instance
SQL Database a Microsoft Fabricben
UNISTR támogatja a Unicode-sztringkonstansokat azáltal, hogy megadja a karakterláncban szereplő karakterek Unicode kódolási értékét.
UNISTR a Unicode szabvány által meghatározott bemeneti kifejezésnek megfelelő Unicode-karaktereket adja vissza.
A Unicode-karakterek feloldósorozata \xxxx vagy \+xxxxxxformájában adható meg, ahol a xxxx érvényes UTF-16 kódpontérték, xxxxxx pedig érvényes Unicode codepoint-érték. Unicode-kódpontértékeket kereshet a Unicode-kóddiagramok.
A NCHAR-hez hasonló függvényekhez képest a UNISTR rugalmasabb és átfogóbb módot kínál a Unicode-karakterek kezelésére. Ha például NCHAR átalakíthat egy Unicode-értéket egy karakterre, UNISTR több Unicode-értéket és feloldósorozatot kezel, így egyszerűbben kezelhetők a különböző Unicode-karaktereket tartalmazó összetett sztringek.
Note
UNISTR a felügyelt Azure SQL-példányban az SQL Server 2025 vagy az Always-up-todátumfrissítésiszabályzattal érhető el.
Transact-SQL szintaxis konvenciói
Syntax
UNISTR ( 'character_expression' [ , 'unicode_escape_character' ] )
Remarks
A UNISTR főbb előnyei a következők:
Unicode-feloldósorozatok támogatása:
UNISTRlehetővé teszi Unicode-karakterek megadását feloldósorozatokkalRugalmasság a bemeneti típusok:
UNISTRtámogatja a különböző karaktertípusokat, például karakter, nchar, varcharés nvarchar. A karakteres és varchar adattípusok esetében a rendezésnek érvényes UTF-8 rendezésnek kell lennie.Egyéni feloldókarakterek: Egyéni feloldókarakterek definiálhatók a Unicode-értékek sztringkarakterekké való átalakításához.
A || csövek operátora az SQL Server 2025 vagy Always-up-todátumfrissítési szabályzattal konfigurált felügyelt Azure SQL-példányban érhető el.
Kódlap támogatása
A UNISTR függvény nem kompatibilis az örökölt kódlapokkal, ami azt jelenti, hogy nem támogatja a nem Unicode karakterkészleteket használó rendezéseket. Ezek az örökölt kódlapokat tartalmazó rendezések az alábbi lekérdezéssel azonosíthatók.
SELECT DISTINCT p.language,
p.codepage
FROM sys.fn_helpcollations() AS c
CROSS APPLY (VALUES (LEFT(c.name, CHARINDEX('_', c.name) - 1),
COLLATIONPROPERTY(c.name, 'codepage'))) AS p(language, codepage)
WHERE p.codepage NOT IN (
0 /* Unicode Only collation */,
65001 /* UTF-8 code page */
);
További információ: függelék G DBCS/Unicode-megfeleltetési táblák és H függelék kódlapjai.
Arguments
'character_expression'
Bármilyen típusú kifejezés, például karakter, nchar, varcharvagy nvarchar. A karakteres és varchar adattípusok esetében a rendezésnek érvényes UTF-8 rendezésnek kell lennie. Megadhat sztringkonstansokat, Unicode- vagy UTF-16 kódpontértékeket vagy mindkettőt.
character_expression
varchar(max) és nvarchar(max).
N'unicode_escape_character'
Egy felhasználó által definiált Unicode-feloldósorozatot jelképező karakter. Ha nincs megadva, az alapértelmezett érték \.
Visszatérési típusok
Olyan sztringérték, amelynek hossza és típusa a bemeneti típustól függ.
Examples
A. AZ UNISTR és az NCHAR függvény használata
Az alábbi példák mindegyike a UNISTR függvények használatával hajtja végre a Unicode-értékek sztringkaraktéria-készletté való átalakítását, hogy megjelenítse a Unicode-karakter mosolygó arcot nyitott szájjal. Az adatbázis-rendezésnek UTF-8 rendezési kell lennie, ha a bemenet karakterből vagy varchar adattípusból áll.
UNISTR és NCHARhasználata:
SELECT N'Hello! ' + NCHAR(0xd83d) + NCHAR(0xde00);
Ez a példaminta a következőt is megírhatja:
SELECT UNISTR(N'Hello! \D83D\DE00');
SELECT UNISTR(N'Hello! \+01F603');
Itt van az eredményhalmaz.
-----------
Hello! 😃
B. AZ UNISTR függvény használata felhasználó által definiált feloldó karakterrel
Az alábbi példa a UNISTR függvényt használja egy egyéni feloldó karakterrel a Unicode sztringkaraktéria-készletté való átalakításához.
SELECT UNISTR(N'ABC#00C0#0181#0187', '#');
Itt van az eredményhalmaz.
-----------
ABCÀƁƇ
C. AZ UNISTR függvény használata sztringkonstansok és Unicode-kódpontok kombinálásával
Az alábbi példában a UNISTR felhasználó által definiált escape karakterrel ($) és egy varchar adattípussal, UTF-8 rendezéssel használjuk. A sztringkonstansokat Unicode codepoint-értékkel egyesíti:
SELECT UNISTR('I $2665 Azure SQL.' COLLATE Latin1_General_100_CI_AS_KS_SC_UTF8, '$');
Itt van az eredményhalmaz.
------------------
I ♥ Azure SQL.
D. AZ UNISTR függvény használata az UTF-8 korlátot meghaladó karakterekhez
Ha az UTF-8-n túli karakterkészletet kell használnia, a COLLATE záradék használatával UTF-8-ra kell konvertálnia a karaktersorozatot. Íme egy példa:
SELECT UNISTR('\306F\3044' COLLATE Latin1_General_100_BIN2_UTF8) AS Yes_in_Japanese_Hiragana;
Itt van az eredményhalmaz.
Yes_in_Japanese_Hiragana
------------------------
はい