15 de junio de 2015

Funciones definidas por el usuario en las cadenas Transact-SQL

Autor: Igor Nikiforov (http://nikiforov.developpez.com)
Montréal, Québec


Señoras y Señores

Quisiera poner a su alcance, en forma gratuita, las siguientes funciones de Transact-SQL:

AT(): Devuelve la posición numérica inicial de la enésima aparición de una expresión de carácteres en otra expresión de carácteres; se cuenta desde el carácter situado más a la izquierda.

RAT(): Devuelve la posición numérica de la enésima aparición (más a la derecha) de una cadena de carácteres dentro de otra cadena de carácteres.

OCCURS(): Devuelve el número de veces que ocurre una expresión dentro de otra expresión de carácteres (incluye solapamientos).

OCCURS2():Devuelve el número de veces que ocurre una expresión dentro de otra expresión de carácteres (excluye solapamientos).

PADL(): Devuelve una cadena a partir de una expresión, rellenándola desde la izquierda hasta la longitud especificada.

PADR(): Devuelve una cadena a partir de una expresión, rellenándola desde la derecha hasta la longitud especificada.

PADC(): Devuelve una cadena a partir de una expresión, rellenándola por ambos lados hasta la longitud especificada.

CHRTRAN(): Cada carácter de una expresión de carácteres que coincida con un carácter de una segunda expresión de carácteres se reemplaza con el carácter correspondiente de una tercera expresión de carácteres.

STRTRAN(): Busca en una expresión de caracteres las apariciones de una segunda expresión de caracteres, y luego reemplaza cada aparición con una tercera expresión de caracteres (a distinción de la función incorporada replace, STRTRAN tiene tres parámetros adicionales).

STRFILTER(): Quita todos los carácteres de una cadena de carácteres excepto aquellos especificados.

GETWORDCOUNT(): Cuenta el número de palabras de una cadena.

GETWORDNUM(): Devuelve la palabra especificada de una cadena.

GETALLWORDS() : Inserta las palabras de una cadena en la tabla.

PROPER(): Devuelve, a partir de una expresión de tipo Carácter, una cadena con el modelo apropiado de mayúsculas/minúsculas para nombres propios.

RCHARINDEX(): Es similar a la función incorporada Transact-SQL charindex, pero la función comienza la búsqueda por la derecha.

ARABTOROMAN(): Devuelve el número romano equivalente de una expresión numérica especificada (de 1 a 3999).

ROMANTOARAB(): Devuelve la expresión numérica equivalente de un número romano especificado (de I a MMMCMXCIX).

AT, PADL, PADR, CHRTRAN, PROPER son semejantes a las funciones Oracle PL/SQL INSTR, LPAD, RPAD, TRANSLATE, INITCAP

Más de 4000 personas ya han descargado estas funciones. Ellas podrían ser útiles para usted.

Por favor, descargue el siguiente archivo:

http://www.universalthread.com/wconnect/wc.dll?LevelExtreme~2,2,27115

Quisiera agradecerles a Ustedes toda vuestra atención y enviarles mis mejores sentimientos.

AT()

Función definida por el Usuario. Devuelve la posición numérica inicial de la primera aparición de una expresión de caracteres en otra expresión de caracteres; se cuenta desde el carácter situado más a la izquierda.

AT( @cSearchExpression, @cExpressionSearched [, @nOccurrence])

Valores devueltos Smallint

Parámetros

;@cSearchExpression Especifica la expresión de caracteres que AT() busca en @cExpressionSearched.

;@cExpressionSearched Especifica la expresión de caracteres en que se busca la expresión indicada por @cSearchExpression.

;@nOccurrence Especifica qué aparición (primera, segunda, tercera, etc.) de @cSearchExpression se busca en @cExpressionSearched. De forma predeterminada, AT() busca la primera aparición de @cSearchExpression ( @nOccurrence = 1). Si incluye @nOccurrence, podrá buscar otras apariciones adicionales de @cSearchExpression en @cExpressionSearched. AT() devolverá 0 si @nOccurrence es mayor que el número de veces que @cSearchExpression aparece en @cExpressionSearched.

Observaciones

AT() busca en la segunda expresión de caracteres la primera aparición de la primera expresión de caracteres. Luego devuelve un valor entero que indica la posición del primer carácter de la expresión de caracteres encontrada. Si la expresión de caracteres no se encuentra,

AT() devolverá 0.

La búsqueda realizada por AT() distingue mayúsculas de minúsculas. Para realizar una búsqueda que no distinga entre ambas, utilice ATC().

Ejemplo

declare @gcString nvarchar(4000), @gcFindString nvarchar(4000)
select @gcString = N'Amor a la mexicana, de cumbia, huapango y son caballo, bota y sombrero, tequila, tabaco y ron',
@gcFindString = N'tequila'
select dbo.AT(@gcFindString, @gcString, default) -- Muestra 73
set @gcFindString = 'RON'
select dbo.AT(@gcFindString, @gcString, default) -- Muestra 0, case-sensitive

Vea también RAT()

RAT()

Devuelve la posición numérica de la última aparición (más a la derecha) de una cadena de caracteres dentro de otra cadena de caracteres.

RAT( @cSearchExpression, @cExpressionSearched [, @nOccurrence])

Valores devueltos Smallint

Parámetros

;@cSearchExpression Especifica la expresión de caracteres que RAT() busca en @cExpressionSearched.

;@cExpressionSearched Especifica la expresión de caracteres en la que busca RAT().

;@nOccurrence Especifica qué aparición, de derecha a izquierda, de @cSearchExpression busca RAT() en @cExpressionSearched. De forma predeterminada, RAT() busca la última vez que aparece @cSearchExpression ( @nOccurrence = 1). Si @nOccurrence es 2, RAT() buscará la penúltima aparición y así sucesivamente.

Observaciones

RAT(), que es la función inversa de AT(), busca en la expresión de caracteres @cExpressionSearched, de derecha a izquierda, la última aparición de la cadena especificada en @cSearchExpression.

RAT() devuelve un entero que indica la posición del primer carácter de @cSearchExpression en @cExpressionSearched. RAT() devuelve 0 si no se encuentra @cSearchExpression en @cExpressionSearched, o si @nOccurrence es mayor que el número de veces que @cSearchExpression aparece en @cExpressionSearched.

La búsqueda realizada por RAT() distingue entre mayúsculas y minúsculas.

Ejemplo

declare @gcString nvarchar(4000), @gcFindString nvarchar(4000)
select @gcString = N'Compasión no quiero lástima no quiero quiero un amor duro que me pueda hacer vibrar', 
@gcFindString = N'no' 
select dbo.RAT(@gcFindString , @gcString, default) -- Muestra 29
select dbo.RAT(@gcFindString , @gcString , 2) -- Muestra 11

Vea también AT()

ATC()

Devuelve la posición numérica inicial de la primera aparición de una expresión de caracteres en otra expresión de caracteres, sin distinguir entre mayúsculas y minúsculas en dichas dos expresiones.

ATC( @cSearchExpression, @cExpressionSearched [, @nOccurrence])

Valores devueltos Smallint

Parámetros

;@cSearchExpression Especifica la expresión de caracteres que ATC() busca en @cExpressionSearched.

;@cExpressionSearched Especifica la expresión de caracteres en que se busca la expresión indicada por @cSearchExpression.

;@nOccurrence Especifica qué aparición (primera, segunda, tercera, etc.) de @cSearchExpression se busca en @cExpressionSearched. De forma predeterminada, ATC() busca la primera aparición de @cSearchExpression ( @nOccurrence = 1). Si incluye @nOccurrence, podrá buscar otras apariciones adicionales de @cSearchExpression en @cExpressionSearched.

Observaciones

ATC() busca en la segunda expresión de caracteres la aparición de la primera expresión de caracteres, sin importar si las letras son mayúsculas o minúsculas en ninguna de las expresiones. Utilice AT() para realizar una búsqueda que sí distinga mayúsculas y minúsculas.

ATC() devuelve un valor entero correspondiente a la posición en que se encuentra el primer carácter de la expresión de caracteres. Si no se encuentra la expresión de caracteres, se devolverá 0.

Ejemplo

declare @gcString nvarchar(4000), @gcFindString nvarchar(4000)
select @gcString = N'Suavecito quiero bien rudo lo quiero quiero que me llegue hasta el fondo del corazón', 
@gcFindString = N'quiero'
select dbo.ATC(@gcFindString, @gcString, 3) -- Muestra 38
set @gcFindString = N'QUIERO'
select dbo.ATC(@gcFindString, @gcString, 2) -- Muestra 31, case-insensitive

Vea también AT(), RAT

OCCURS() , OCCURS2()

Devuelve el número de veces que ocurre una expresión dentro de otra expresión de caracteres.

OCCURS( @cSearchExpression, @cExpressionSearched)

Valores devueltos Smallint

Parámetros

;@cSearchExpression Especifica una expresión de caracteres que OCCURS() busca en @cExpressionSearched.

;@cExpressionSearched Especifica la expresión de caracteres donde OCCURS() busca @cSearchExpression.

Observaciones

OCCURS() devuelve 0 (cero) si @cSearchExpression no es encontrado en @cExpressionSearched.

Ejemplo

declare @gcString nvarchar(4000)
select @gcString = N'Amor a la mexicana... amor a la mexicana ay! quiero tu amor hasta el fondo 
del corazón amor a la mexicana y en tu locura quiero perder la razón amor a la mexicana'
select dbo.OCCURS('mexicana', @gcString ) -- Muestra 4

Cuenta las ocurrencias de los diferentes caracteres de una cadena @gcCaracters en la cadena @gcString

declare @gcString nvarchar(4000), @gcCaracters nvarchar(256), @i smallint, @counter smallint
select @i = 1, @counter = 0
select @gcString = N'El coronel no tiene quien lo escriba.', @gcCaracters = N'abcca'
while @i <= datalength(@gcCaracters)/2
  begin
    if charindex(substring(@gcCaracters,@i,1), left(@gcCaracters, @i - 1)) = 0
      select @counter = @counter + dbo.OCCURS2(substring(@gcCaracters,@i,1), @gcString) 
    select @i = @i + 1
  end
select @counter -- Muestra 4

¡Atención!, OCCURS incluye solapamientos

select dbo.OCCURS('ABCA', 'ABCABCABCA') -- Muestra 3

1 ocurrencia de la cadena 'ABCA .. BCABCA'

2 ocurrencia de la cadena 'ABC...ABCA...BCA'

3 ocurrencia de la cadena 'ABCABC...ABCA'

OCCURS2 excluye solapamientos

select dbo.OCCURS2('ABCA', 'ABCABCABCA') -- Muestra 2

1 ocurrencia de la cadena 'ABCA .. BCABCA'

2 ocurrencia de la cadena 'ABCABC... ABCA'

Vea también AT(), RAT()

PADL() | PADR() | PADC()

Devuelve una cadena a partir de una expresión, rellenándola por la izquierda, la derecha o por ambos lados hasta la longitud especificada.

PADL(@eExpression, @nResultSize [, @cPadCharacter]) 

O bien:

PADR(@eExpression, @nResultSize [, @cPadCharacter]) 

O bien:

PADC(@eExpression, @nResultSize [, @cPadCharacter])

Valores devueltos nvarchar(4000)

Parámetros

;@eExpression Especifica la expresión que se va a rellenar.

;@nResultSize Especifica el número total de caracteres que tendrá la expresión después de rellenarla.

;@cPadCharacter Especifica el valor que se va a utilizar para rellenar. Este valor se repite todas las veces necesarias para rellenar la expresión con el número especificado de caracteres.

Si se omite @cPadCharacter, se utilizan espacios (ASC(32)) para rellenar.

Observaciones

PADL() inserta los caracteres de relleno a la izquierda, PADR() los inserta a la derecha y PADC() los inserta a ambos lados.

Ejemplo

declare @gcString nvarchar(4000)
select @gcString = N'Amor a la Mexicana – Thalía' 
select dbo.PADL(@gcString, 40, default) -- Muestra ' Amor a la Mexicana – Thalía'
select dbo.PADL(@gcString, 40, '+=+') -- Muestra '+=++=++=++=++Amor a la Mexicana – Thalía'
select dbo.PADR(@gcString, 40, '=!!!=') -- Muestra 'Amor a la Mexicana – Thalía=!!!==!!!==!!'
select dbo.PADC(@gcString, 40, '=*=') -- Muestra '=*==*=Amor a la Mexicana – Thalía=*==*==' 

CHRTRAN()

Cada carácter de una expresión de carácteres que coincida con un carácter de una segunda expresión de carácteres se reemplaza con el carácter correspondiente de una tercera expresión de caracteres.

CHRTRAN( @cSearchedExpression, @cSearchExpression, @cReplacementExpression)

Valores devueltos nvarchar(4000)

Parámetros

;@cSearchedExpression Especifica la expresión donde CHRTRAN() reemplaza caráacteres.

;@cSearchExpression Especifica la expresión que contiene los carácteres buscados por CHRTRAN() en @cSearchedExpression.

;@cReplacementExpression Especifica la expresión que contiene los carácteres de reemplazo.

Si se encuentra en @cSearchedExpression un carácter de @cSearchExpression, el carácter de @cSearchedExpression se sustituirá por el carácter de @cReplacementExpression que esté en la misma posición en @cReplacementExpression que el carácter correspondiente en @cSearchExpression.

Si @cReplacementExpression tiene menos caráacteres que @cSearchExpression, los caracteres adicionales de @cSearchExpression se eliminan de @cSearchedExpression. Si @cReplacementExpression tiene más carácteres que @cSearchExpression, los carácteres adicionales de @cReplacementExpression se pasarán por alto.

Observaciones

CHRTRAN() convierte la expresión de carácteres @cSearchedExpression mediante las expresiones de conversión @cSearchExpression y @cReplacementExpression y devuelve la cadena de carácteres resultante.

Ejemplo

select dbo.CHRTRAN('ABCDEF', 'ACE', 'XYZ') -- Muestra 'XBYDZF'
select dbo.CHRTRAN('ABCDEF', 'ACE', 'XYZQRST') -- Muestra 'XBYDZF'

Vea también STRFILTER(), STRTRAN ()

STRTRAN ()

Busca en una expresión de caracteres las apariciones de una segunda expresión de caracteres , y luego reemplaza cada aparición con una tercera expresión de caracteres .

STRTRAN( @cSearched, @cExpressionSought [, @cReplacement] [, @nStartOccurrence] [, @nNumberOfOccurrences] [, @nFlags])

Valores devueltos nvarchar(4000)

Parámetros

;@cSearched Especifica la expresión de caracteres en la que hay que buscar.

;@cExpressionSought Especifica la expresión de caracteres que se busca en @cSearched. La búsqueda distingue entre mayúsculas y minúsculas.

;@cReplacement Especifica la expresión de caracteres que sustituye cada aparición de @cSearchFor en @cSearched. Si se omite @cReplacement, las instancias de @cExpressionSought se reemplazarán por una cadena vacía.

;@nStartOccurrence Especifica la instancia de @cExpressionSought que se reemplazará en primer lugar. Por ejemplo, si el valor de @nStartOccurrence es 4, se empezará a reemplazar a partir de la cuarta instancia de @cExpressionSought en @cSearched; las tres primeras instancias de @cExpressionSought permanecerán sin cambios. La instancia en la que se empieza a reemplazar será de manera predeterminada la primera instancia de @cExpressionSought (si se omite @nStartOccurrence).

;@nNumberOfOccurrences Especifica el número de instancias de @cExpressionSought que hay que reemplazar. Si omite @nNumberOfOccurrences, se reemplazarán todas las instancias @cExpressionSought (empezando por la especificada con @nStartOccurrence).

;@nFlags Especifica si en la búsqueda se distingue entre mayúsculas y minúsculas, de acuerdo con los siguientes valores:

Valor de @nFlag Descripción

0 (predeterminado) La búsqueda distingue entre mayúsculas y minúsculas, se reemplaza por la expresión exacta de @cReplacement.

1 La búsqueda no distingue entre mayúsculas y minúsculas, se reemplaza por la expresión exacta de @cReplacement .

2 La búsqueda distingue entre mayúsculas y minúsculas, se reemplaza por la expresión de @cReplacement en mayúsculas o minúsculas según el texto encontrado. En este caso @cReplacement, solo será reemplazado si la cadena encontrada está toda en mayúsculas, minúsculas o en el caso de ser un título (propiedad).

3 La búsqueda no distingue entre mayúsculas y minúsculas, se reemplaza por la expresión de @cReplacement en mayúsculas o minúsculas según el texto encontrado. En este caso @cReplacement, solo será reemplazado si la cadena encontrada esta toda en mayúsculas, minúsculas o en el caso de ser un título (propiedad).

Observaciones

También puede especificar dónde comienza la sustitución y cuántas sustituciones se harán. STRTRAN() devuelve la cadena de caracteres resultante. Especifique –1 en los parámetros opcionales que desee omitir si sólo tiene que especificar el valor de @nFlags.

Ejemplo

select dbo.STRTRAN('ABCDEF', 'ABC', 'XYZ',-1,-1,0) -- Muestra XYZDEF
select dbo.STRTRAN('ABCDEF', 'ABC', default,-1,-1,0) -- Muestra DEF
select dbo.STRTRAN('ABCDEFABCGHJabcQWE', 'ABC', default,2,-1,0) -- Muestra ABCDEFGHJabcQWE
select dbo.STRTRAN('ABCDEFABCGHJabcQWE', 'ABC', default,2,-1,1) -- Muestra ABCDEFGHJQWE
select dbo.STRTRAN('ABCDEFABCGHJabcQWE', 'ABC', 'XYZ', 2, 1, 1) -- Muestra ABCDEFXYZGHJabcQWE
select dbo.STRTRAN('ABCDEFABCGHJabcQWE', 'ABC', 'XYZ', 2, 3, 1) -- Muestra ABCDEFXYZGHJXYZQWE
select dbo.STRTRAN('ABCDEFABCGHJabcQWE', 'ABC', 'XYZ', 2, 1, 2) -- Muestra ABCDEFXYZGHJabcQWE
select dbo.STRTRAN('ABCDEFABCGHJabcQWE', 'ABC', 'XYZ', 2, 3, 2) -- Muestra ABCDEFXYZGHJabcQWE
select dbo.STRTRAN('ABCDEFABCGHJabcQWE', 'ABC', 'xyZ', 2, 1, 2) -- Muestra ABCDEFXYZGHJabcQWE
select dbo.STRTRAN('ABCDEFABCGHJabcQWE', 'ABC', 'xYz', 2, 3, 2) -- Muestra ABCDEFXYZGHJabcQWE
select dbo.STRTRAN('ABCDEFAbcCGHJAbcQWE', 'Aab', 'xyZ', 2, 1, 2) -- Muestra ABCDEFAbcCGHJAbcQWE
select dbo.STRTRAN('abcDEFabcGHJabcQWE', 'abc', 'xYz', 2, 3, 2) -- Muestra abcDEFxyzGHJxyzQWE
select dbo.STRTRAN('ABCDEFAbcCGHJAbcQWE', 'Aab', 'xyZ', 2, 1, 3) -- Muestra ABCDEFAbcCGHJAbcQWE
select dbo.STRTRAN('ABCDEFAbcGHJabcQWE', 'abc', 'xYz', 1, 3, 3) -- Muestra XYZDEFXyzGHJxyzQWE

Vea también replace(), CHRTRAN()

STRFILTER()

Quita todos los carácteres de una cadena de carácteres excepto aquellos especificados.

STRFILTER(@cExpressionSearched, @cSearchExpression)

Valor devuelto nvarchar(4000)

Parámetros

;@cExpressionSearched Especifica la cadena de caracteres para la búsqueda..

;@cSearchExpression Especifica los caracteres para buscar y para conservar dentro de @cExpressionSearched.

Observaciones

STRFILTER() quita todos los caracteres de @cExpressionSearched que no están en @cSearchExpression, después devuelve los caracteres que permanecen en la expresión

Ejemplo

select dbo.STRFILTER('asdfghh5hh1jk6f3b7mn8m3m0m6','0123456789') -- Muestra 516378306
select dbo.STRFILTER('ABCDABCDABCD', 'AB') -- Muestra ABABAB

Vea también CHRTRAN()

GETWORDCOUNT()

Cuenta el número de palabras de una cadena.

GetWordCount( @cString[, @cDelimiters])

Parámetros

;@cString Especifica la cadena de la que se va contar el número de palabras.

;@cDelimiters Opcional. Especifica el carácter que se utiliza para delimitar grupos de caracteres en @cString. Los delimitadores predeterminados son: espacio, tabulador, retorno de carro y avance de línea. Observe que GetWordCount( ) utiliza cada uno de los caracteres en @cDelimiters como delimitadores individuales, no para toda la cadena como un único delimitador.

Valor devuelto Smallint

Observaciones

GetWordCount() supone de manera predeterminada que las palabras están delimitadas por espacios o tabulaciones. Si especifica otro carácter como delimitador, esta función ignorará los espacios y las tabulaciones, y sólo utilizará el carácter especificado.

Ejemplo

declare @cString nvarchar(4000)
set @cString = N'Muchos años después, frente al pelotón de fusilamiento, el coronel 
Aureliano Buendía había de recordar aquella tarde remota en que su padre lo llevó a 
conocer el hielo. Macondo era entonces una aldea de 20 casas de barro y cañabrava 
construidas a la orilla de un río de aguas diáfanas que se precipitaban por un lecho de 
piedras pulidas, blancas y enormes como huevos prehistóricos. El mundo era tan reciente, 
que muchas cosas carecían de nombre, y para mencionarlas había que señalarlas con el dedo.'
-- Si utiliza @cString como cadena de destino para GetWordCount(), puede obtener todos los resultados siguientes.
select dbo.GETWORDCOUNT(@cString, default) -- Muestra 85 - grupos carácter, delimitados por ' '
select dbo.GETWORDCOUNT(@cString, ',') -- Muestra 6 - grupos carácter, delimitados por ','
select dbo.GETWORDCOUNT(@cString, '.') -- Muestra 3 - grupos carácter, delimitados por '.' 

Vea también

GETWORDNUM()

GETWORDNUM()

Devuelve la palabra especificada de una cadena.

GETWORDNUM( @cString, @nIndex[, @cDelimiters])

Parámetros

;@cString Especifica la cadena que hay que evaluar.

;@nIndex Especifica la posición del índice de la palabra que se va a devolver. Por ejemplo, si @nIndex es 3, GetWordNum() devuelve la tercera palabra (si @cString contiene tres o más palabras).

;@cDelimiters Opcional. Especifica uno o más caracteres especiales que se utilizan para separar las palabras de @cString. Los delimitadores predeterminados son espacio, tabulación, retorno de carro y avance de línea. Observe que GetWordNum() utiliza cada uno de los caracteres en @cDelimiters como delimitadores individuales, no como único delimitador de toda la cadena.

Valor devuelto nvarchar(4000)

Observaciones

Devuelve la palabra existente en la posición especificada por @nIndex en la cadena de destino, @cString. Si @cString contiene menos de @nIndex palabras, GetWordNum() devolverá una cadena vacía.

Ejemplo

declare @cString nvarchar(4000)
set @cString = N'"Cien años de soledad" Gabriel García Márquez'
select dbo.GETWORDNUM(@cString, 7, default) -- Display 'Márquez'

Vea también GETWORDCOUNT()

GETALLWORDS()

GETALLWORDS(@cString[, @cDelimiters])

Parámetros

;@cString Especifica la cadena cuyas palabras serán insertadas en la tabla.

;@cDelimiters Opcional. Especifica el carácter que se utiliza para delimitar grupos de caracteres en @cString. Los delimitadores predeterminados son: espacio, tabulador, retorno de carro y avance de línea. Observe que GetAllWord() utiliza cada uno de los caracteres en @cDelimiters como delimitadores individuales, no para toda la cadena como un único delimitador.

Valor devuelto una tabla @GETALLWORDS (WORDNUM smallint, WORD nvarchar(4000), STARTOFWORD smallint, LENGTHOFWORD smallint)

Observaciones

GetAllWord() supone de manera predeterminada que las palabras están delimitadas por espacios o tabulaciones. Si especifica otro carácter como delimitador, esta función ignorará los espacios y las tabulaciones, y sólo utilizará el carácter especificado.

Ejemplo

declare @cString nvarchar(4000)
set @cString = ' Los delimitadores predeterminados son espacio, tabulación, retorno de carro y avance de línea.'
select * from dbo.GETALLWORDS(@cString, default) 
select * from dbo.GETALLWORDS(@cString, ' ,.') 

Vea también GETWORDNUM() , GETWORDCOUNT()

PROPER()

p>Devuelve, a partir de una expresión de tipo Carácter, una cadena con el modelo apropiado de mayúsculas/minúsculas para nombres propios.

PROPER( @cExpression)

Valores devueltos nvarchar(4000)

Parámetros

;@cExpression Especifica la expresión de tipo carácter de la que PROPER() devuelve una cadena de caracteres con el modelo apropiado de mayúsculas / minúsculas.

Ejemplo

declare @gcExpr1 nvarchar(4000), @gcExpr2 nvarchar(4000)
select @gcExpr1 = 'Visual Basic.NET', @gcExpr2 = 'VISUAL BASIC.NET'
select dbo.PROPER(@gcExpr1) -- Muestra 'Visual Basic.net'
select dbo.PROPER(@gcExpr2) -- Muestra 'Visual Basic.net'

ARABTOROMAN()

Devuelve el número romano equivalente de una expresión numérica especificada

ARABTOROMAN(@tNum) Valores devueltos varchar(15) Parámetros @tNum una expresión numérica

Ejemplo

select dbo.ARABTOROMAN(3888) -- Muestra MMMDCCCLXXXVIII

ROMANTOARAB()

Devuelve la expresión numérica equivalente de un número romano especificado

ROMANTOARAB(@tcRomanNumber)

Valores devueltos smallint

Parámetros @tcRomanNumber varchar(15) un número romano

Ejemplo

select dbo.ROMANTOARAB('MDCCCLXXXVIII') -- Muestra 1888

Saludos,

Igor Nikiforov
Montréal, Québec
http://nikiforov.developpez.com 


No hay comentarios. :

Publicar un comentario