UNISTR (Transact-SQL)
Se aplica a: Azure SQL Database
UNISTR
proporciona compatibilidad con literales de cadena Unicode al permitirle especificar el valor de codificación Unicode de caracteres en la cadena. UNISTR
devuelve los caracteres Unicode, tal como se define en el estándar Unicode, para la expresión de entrada.
La secuencia de escape de un carácter Unicode se puede especificar en forma de \xxxx
o \+xxxxxx
, donde xxxx
es un valor de punto de código UTF-16 válido y xxxxxx
es un valor de punto de código Unicode válido. Puede buscar valores de punto de código Unicode en los gráficos de código Unicode.
Convenciones de sintaxis de Transact-SQL
Sintaxis
UNISTR ( 'character_expression' [ , 'unicode_escape_character' ] )
Argumentos
"character_expression"
Expresión de cualquier tipo de carácter, como char, nchar, varchar o nvarchar. Para los tipos de datos char y varchar , la intercalación debe ser una intercalación UTF-8 válida.
N'unicode_escape_character'
Carácter único que representa una secuencia de escape Unicode definida por el usuario. Si no se proporciona, el valor predeterminado es \
.
Tipos de valores devueltos
Valor de cadena cuya longitud y tipo dependen de los tipos de entrada.
Ejemplos
A Uso de UNISTR frente a la función NCHAR
En los ejemplos siguientes se usan todas las UNISTR
funciones para realizar la conversión necesaria de los valores Unicode en un juego de caracteres de cadena, para mostrar el carácter unicode Cara sonriente con boca abierta. La intercalación de base de datos debe ser una intercalación UTF-8 si la entrada es de tipos de datos char o varchar .
Mediante UNISTR
y NCHAR
:
SELECT N'Hello! ' + NCHAR(0xd83d) + NCHAR(0xde00);
Este ejemplo también se puede escribir:
SELECT UNISTR(N'Hello! \D83D\DE00');
SELECT UNISTR(N'Hello! \+01F603');
Este es el conjunto de resultados.
-----------
Hello! 😃
B. Uso de la función UNISTR con el carácter de escape definido por el usuario
En el ejemplo siguiente se usa la UNISTR
función con un carácter de escape personalizado para realizar la conversión necesaria de Unicode en un conjunto de caracteres de cadena.
SELECT UNISTR(N'ABC#00C0#0181#0187', '#');
Este es el conjunto de resultados.
-----------
ABCÀƁƇ
Contenido relacionado
- ASCII (Transact-SQL)
- CHAR (Transact-SQL)
- NCHAR (Transact-SQL)
- String Functions (Transact-SQL) [Funciones de cadena (Transact-SQL)]
- Compatibilidad con la intercalación y Unicode