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.Argumentosexpression : 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).