Funciones de cadena

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

En la tabla siguiente se muestran las funciones String de SqlClient.

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 String ASCII.

Valor devuelto

Una clase Int32.

Ejemplo

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

Argumentos

expression: valor de tipo 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 buscar. La expresión puede ser de un tipo String (ASCII o Unicode) o Binary.

expression2: expresión, que normalmente es una columna, en la que se encuentra la secuencia especificada. La expresión puede ser de un tipo String (ASCII o Unicode) o 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 igual a cero, la búsqueda comienza al principio de expression2.

Valor devuelto

Una clase Int32.

Ejemplo

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

Argumentos

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

Valor devuelto

Devuelve un valor de tipo Int32 que representa la diferencia entre los valores de SOUNDEX de dos expresiones de caracteres. El intervalo está comprendido entre 0 y 4. El valor 0 indica una similitud escasa o inexistente, y el valor 4 indica una elevada similitud o que los valores son iguales.

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 de caracteres especificado.

Argumentos

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

count: valor de tipo Int64 (no se devuelve en SQL Server 2000) o 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 de cadena especificada, excluidos los espacios en blanco finales.

Argumentos

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

Valor devuelto

Una clase Int32.

Ejemplo

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

Argumentos

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

Valor devuelto

Un objeto String.

Ejemplo

SqlServer.LOWER('AbB')
LTRIM(expression) Devuelve una expresión String tras quitar los espacios iniciales en blanco.

Argumentos

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

Valor devuelto

Un objeto String.

Ejemplo

SqlServer.LTRIM(' d')
NCHAR(expression) Devuelve el valor de tipo String Unicode correspondiente al código entero dado, tal como se define en el estándar Unicode.

Argumentos

expression: valor de tipo 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 String especificada.

Argumentos

'%pattern%': valor de tipo String ASCII o Unicode. Se pueden utilizar caracteres comodín; no obstante, el carácter % debe ir delante y detrás del patrón (excepto cuando se busque el primer o último carácter).

expression: cadena de tipo String ASCII o Unicode en la que buscar el patrón especificado.

Valor devuelto

Una clase Int32.

Ejemplo

SqlServer.PATINDEX('abc', 'ab')
QUOTENAME('char_string' [, 'quote_char']) Devuelve un valor de tipo String Unicode con los delimitadores agregados para convertirla en un identificador delimitado válido de SQL Server 2005.

Argumentos

char_string: valor String Unicode.

quote_char: cadena de un solo carácter que se utiliza como delimitador. Puede ser una comilla simple ('), un corchete izquierdo o derecho ([ ]) o una comilla doble ("). Si no se especifica quote_char, se usarán 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.

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.

expression3: 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 carácter un número especificado de veces.

Argumentos

char_expression: tipo String Unicode o ASCII.

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 un valor de tipo String Unicode o ASCII con las posiciones de los caracteres invertidas con respecto a la cadena de entrada.

Argumentos

expression: tipo String Unicode o ASCII.

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 character_expression explícitamente.

count: valor de tipo Int64 (no se devuelve en SQL Server 2000) o 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 un valor de tipo String Unicode o ASCII después de quitar los espacios finales.

Argumentos

expression: tipo String Unicode o ASCII.

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: tipo String Unicode o ASCII.

Valor devuelto

Valor de tipo String ASCII. Un código de cuatro caracteres (SOUNDEX) es una cadena que evalúa la semejanza 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 valor String ASCII convertido a partir de datos numéricos.

Argumentos

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

length: (opcional) valor de tipo Int32 que representa la longitud total. Ésta incluye el separador decimal, el signo, los dígitos y los espacios. El valor predeterminado es 10.

decimal: (opcional) valor de tipo Int32 que representa el número de posiciones a la derecha del separador decimal. decimal debe ser menor o igual que 16. Si decimal es mayor que 16, el resultado se trunca a dieciséis lugares 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 cantidad especificada de caracteres e inserta otro conjunto de caracteres a partir del punto inicial especificado de una expresión de cadena.

Argumentos

str_expression: valor String Unicode o ASCII.

start: valor Int64 (no se devuelve en SQL Server 2000) o Int32 que especifica la ubicación en la que comenzar la eliminación y la inserción.

length: valor Int64 (no se devuelve 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 expresión String.

Argumentos

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

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

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

Valor devuelto

Valor de tipo String (ASCII o Unicode) o Binary.

Ejemplo

SqlServer.SUBSTRING('abcd', 2, 2)
UNICODE(expression) Devuelve el valor entero, según la definición del estándar Unicode, para el primer carácter de la expresión de entrada.

Argumentos

expression: valor String Unicode.

Valor devuelto

Una clase 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 String ASCII o Unicode.

Valor devuelto

Tipo String ASCII o Unicode.

Ejemplo

SqlServer.UPPER('AbB')

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

Consulte también