Compartir a través de


Funciones de cadena

El proveedor de datos de .NET Framework para SQL Server (SqlClient) proporciona funciones String que realizan operaciones en una entrada String y devuelven un resultado String o un valor numérico. Estas funciones están en el espacio de nombres SqlServer, que está disponible cuando se usa SqlClient. La propiedad de espacio de nombres de un proveedor permite a Entity Framework detectar qué prefijo usa este proveedor para construcciones específicas, como tipos y funciones.

En la tabla siguiente se muestran las funciones SqlClient String .

Función Descripción
ASCII(expression) Devuelve el valor de código ASCII del carácter situado más a la izquierda de una expresión de cadena.

Argumentos

expression: cualquier expresión válida de un tipo ASCII String .

Valor Devuelto

Un Int32.

Ejemplo

SqlServer.ASCII('A')
CHAR(expression) Convierte un Int32 código en una cadena ASCII.

Argumentos

expression: Un Int32.

Valor Devuelto

Valor de tipo String ASCII.

Ejemplo

SqlServer.char(97)
CHARINDEX(expression1, expression2 [, start_location]) Devuelve la posición inicial de la expresión especificada en una cadena de caracteres.

Argumentos

expression1: expresión que contiene la secuencia de caracteres que se va a encontrar. La expresión puede ser de un tipo String (ASCII o Unicode) o de un tipo Binary.

expression2: Una expresión, normalmente una columna, que se busca por la secuencia especificada. La expresión puede ser de un tipo String (ASCII o Unicode) o de un tipo Binary.

start_location: (opcional) valor de tipo Int64 (no se devuelve en SQL Server 2000) o Int32 que representa la posición de caracteres en la que debe comenzar la búsqueda de expression1 en expression2. Si no se especifica start_location, es un número negativo o es cero, la búsqueda comienza al principio de expression2.

Valor Devuelto

Un Int32.

Ejemplo

SqlServer.CHARINDEX('h', 'habcdefgh', 2)
DIFFERENCE(expression, expression) Compara los SOUNDEX valores de dos cadenas y evalúa la similitud entre ellas.

Argumentos

Tipo String Unicode o ASCII. expression puede ser una constante, una variable o una columna.

Valor Devuelto

Devuelve un Int32 que representa la diferencia entre los valores SOUNDEX de dos expresiones de caracteres. El intervalo va de 0 a 4. 0 indica una similitud débil o ninguna similitud, y 4 indica una similitud fuerte o los mismos valores.

Ejemplo

// The following example returns a DIFFERENCE value of 4,

//the least possible difference or the best match.

SqlServer.DIFFERENCE('Green','Greene');
LEFT(expression, count) Devuelve la parte izquierda de una cadena de caracteres con el número especificado de caracteres.

Argumentos

expression: un tipo de cadena Unicode o ASCII. Use la función CAST para convertir explícitamente character_expression.

count: Int64 (no devuelto en SQL Server 2000) o un tipo Int32 que especifica cuántos caracteres de character_expression se devolverán.

Valor Devuelto

Valor String Unicode o ASCII.

Ejemplo

SqlServer.LEFT('SQL Server', 4)
LEN(expression) Devuelve el número de caracteres de la expresión String especificada, excepto los espacios en blanco finales.

Argumentos

expression: expresión de un String tipo (Unicode o ASCII) o un Binary tipo

Valor Devuelto

Un Int32.

Ejemplo

SqlServer.LEN('abcd')
LOWER(expression) Devuelve una expresión String tras convertir los datos de caracteres en mayúsculas a minúsculas.

Argumentos

expression: cualquier expresión válida del String tipo.

Valor Devuelto

Una String.

Ejemplo

SqlServer.LOWER('AbB')
LTRIM(expression) Devuelve una String expresión después de quitar los espacios iniciales.

Argumentos

expression: cualquier expresión válida de String tipo.

Valor Devuelto

Una String.

Ejemplo

SqlServer.LTRIM(' d')
NCHAR(expression) Devuelve un Unicode String con el código entero especificado, tal como se define en el estándar Unicode.

Argumentos

expression: Un Int32.

Valor Devuelto

Valor de tipo String Unicode.

Ejemplo

SqlServer.NCHAR(65)
PATINDEX('%pattern%', expression) Devuelve la posición inicial de la primera aparición de un patrón en una expresión especificada String .

Argumentos

'%pattern%': valor de tipo String ASCII o Unicode. Se pueden usar caracteres comodín; sin embargo, el carácter % debe aparecer antes y después del patrón (excepto en las búsquedas de los primeros o últimos caracteres).

expression: un ASCII o Unicode String para buscar el patrón especificado.

Valor Devuelto

Un Int32.

Ejemplo

SqlServer.PATINDEX('abc', 'ab')
QUOTENAME('char_string' [, 'quote_char']) Devuelve un Unicode String con los delimitadores agregados para que la cadena de entrada sea un identificador delimitado válido de SQL Server 2005.

Argumentos

char_string: valor String Unicode.

quote_char: una cadena de un carácter que se va a usar como delimitador. Puede ser una comilla simple ( ' ), un corchete izquierdo o derecho ( [ ] ) o una comilla doble ( " ). Si quote_char no se especifica, se usan corchetes.

Valor Devuelto

Valor de tipo String Unicode.

Ejemplo

SqlServer.QUOTENAME('abc[]def')
REPLACE(expression1, expression2, expression3) Reemplaza una expresión de caracteres por otra expresión de caracteres.

Argumentos

expression1: expresión de cadena que se va a buscar. expression1 puede ser un tipo de cadena Unicode o ASCII.

expression2: subcadena que se va a buscar. expression2 puede ser un tipo de cadena Unicode o ASCII.

expression3La cadena de reemplazo. expression3 puede ser un tipo de cadena Unicode o ASCII.

Ejemplo

SqlServer.REPLACE('aabbcc', 'bc', 'zz')
REPLICATE(char_expression, int_expression) Repite una expresión de caracteres para un número especificado de veces.

Argumentos

char_expression: tipo Unicode o ASCIIString.

int_expression: Int64 (no se admite en SQL Server 2000) o Int32.

Valor Devuelto

Tipo String Unicode o ASCII.

Ejemplo

SqlServer.REPLICATE('aa',2)
REVERSE(expression) Devuelve una cadena Unicode o ASCII con sus posiciones de caracteres invertidas desde la cadena de entrada.

Argumentos

expression: tipo Unicode o ASCIIString.

Valor Devuelto

Tipo String Unicode o ASCII.

Ejemplo

SqlServer.REVERSE('abcd')
RIGHT(char_expression, count) Devuelve la parte derecha de una cadena de caracteres con el número de caracteres especificado.

Argumentos

char_expression:Un tipo de cadena Unicode o ASCII. Use la función CAST para convertir explícitamente character_expression.

count: Int64 (no devuelto en SQL Server 2000) o un tipo Int32 que especifica cuántos caracteres de character_expression se devolverán.

Valor Devuelto

Un tipo String ASCII.

Ejemplo

SqlServer.RIGHT('SQL Server', 6)
RTRIM(expression) Devuelve una cadena Unicode o ASCII después de quitar espacios finales.

Argumentos

expression: tipo Unicode o ASCIIString.

Valor Devuelto

Tipo String Unicode o ASCII.

Ejemplo

SqlServer.RTRIM(' d e ')
SOUNDEX(expression) Devuelve un código de cuatro caracteres (SOUNDEX) para evaluar la similitud de dos cadenas. Argumentos

expression: un tipo de cadena Unicode o ASCII.

Valor Devuelto

Valor de tipo String ASCII. Un código de cuatro caracteres (SOUNDEX) es una cadena que evalúa la similitud de dos cadenas.

Ejemplo

Select SqlServer.SOUNDEX('Smith'), SqlServer.SOUNDEX('Smythe') FROM {1}

Devuelve

----- ----- S530 S530
SPACE(int_expression) Devuelve un valor de tipo String ASCII de espacios repetidos.

Argumentos

int_expression: valor de tipo Int64 (no se devuelve en SQL Server 2000) o Int32 que indica el número de espacios.

Valor Devuelto

Valor de tipo String ASCII.

Ejemplo

SqlServer.SPACE(2)
STR(float_expression [, length [, decimal]]) Devuelve un ASCII String convertido a partir de datos numéricos.

Argumentos

float _expression: expresión de tipo de datos numérico aproximado (Double) con un separador decimal.

length: (opcional) un Int32 que representa la longitud total. Esto incluye decimales, signos, dígitos y espacios. El valor predeterminado es 10.

decimal:(opcional) Un Int32 que representa el número de posiciones a la derecha del punto decimal. decimal debe ser menor o igual que 16. Si el número decimal es mayor que 16, el resultado se trunca a dieciséis cifras a la derecha del separador decimal.

Valor Devuelto

Valor de tipo String ASCII.

Ejemplo

SqlServer.STR(212.0)
STUFF(str_expression, start, length, str_expression_to_insert) Elimina una longitud especificada de caracteres e inserta otro conjunto de caracteres en un punto de partida especificado en una expresión de cadena.

Argumentos

str_expression: valor String Unicode o ASCII.

start: Valor Int64 (no devuelto en SQL Server 2000) o Int32 que especifica la ubicación para iniciar la eliminación e inserción.

length: un Int64 valor (no devuelto en SQL Server 2000) o Int32 que especifica el número de caracteres que se van a eliminar.

str_expression_to_insert: valor String Unicode o ASCII.

Valor Devuelto

Valor String Unicode o ASCII.

Ejemplo

SqlServer.STUFF('abcd', 2, 2, 'zz')
SUBSTRING(str_expression, start, length) Devuelve parte de una String expresión.

Argumentos

str_expression: expresión de un String tipo (ASCII o Unicode) o un Binary tipo.

start: valor de tipo Int64 (no se devuelve en SQL Server 2000) o Int32 que especifica dónde comienza la subcadena. 1 hace referencia al primer carácter de la cadena.

length: ( Int64 no devuelto en SQL Server 2000) o Int32 que especifica cuántos caracteres de la expresión se devolverán.

Valor Devuelto

Tipo String (ASCII o Unicode) o un Binary tipo.

Ejemplo

SqlServer.SUBSTRING('abcd', 2, 2)
UNICODE(expression) Devuelve el valor entero, tal como se define en el estándar Unicode, para el primer carácter de la expresión de entrada.

Argumentos

expression: valor String Unicode.

Valor Devuelto

Un Int32.

Ejemplo

SqlServer.UNICODE('a')
UPPER(expression) Devuelve una expresión String después de convertir a mayúsculas los datos de caracteres que están en minúsculas.

Argumentos

expression: expresión de un tipo de cadena ASCII o Unicode.

Valor Devuelto

Tipo String ASCII o Unicode.

Ejemplo

SqlServer.UPPER('AbB')

Para obtener más información sobre las String funciones que admite SqlClient, vea Funciones de cadena (Transact-SQL).

Consulte también