MOD en SQL Server

12/03/2009 - 10:05 por DT | Informe spam
Hola a todos.

Si hago esto en Excel tengo los siguientes resultados:

=MOD(105,60)
Resultado: 45
=MOD(-105,60)
Resuldato: 15

Cómo puedo hacerlo en SQL Server???
He promado el:
Select
select 105 % 60
Resultado: 45
select -105 % 60
Resultado: -45

Neceisto obtener los mismos resultados que en Excel...

1000 gracias de antemano.

Preguntas similare

Leer las respuestas

#1 Carlos Sacristan
12/03/2009 - 10:44 | Informe spam
Vaya, me pierdo un poco porque haciéndolo con la calculadora de Windows, la
operación -105 MOD 60 da como resultado -45...

En cualquier caso, la ayuda de Excel dice que la función MODULO se puede
traducir también como n - d*INT(n/d), con lo que esa instrucción, traducido a
TSQL sería

SELECT CAST((-105) - (60 * ROUND(-105./60, 0) ) AS INT)

Eso da como resultado 15


Un saludo
-
www.navento.com
Servicios de Localización GPS


"DT" wrote:

Hola a todos.

Si hago esto en Excel tengo los siguientes resultados:

=MOD(105,60)
Resultado: 45
=MOD(-105,60)
Resuldato: 15

Cmo puedo hacerlo en SQL Server???
He promado el:
Select
select 105 % 60
Resultado: 45
select -105 % 60
Resultado: -45

Neceisto obtener los mismos resultados que en Excel...

1000 gracias de antemano.

Respuesta Responder a este mensaje
#2 DT
12/03/2009 - 11:07 | Informe spam
Excelente, gracias!
"Carlos Sacristan" wrote in
message news:

Vaya, me pierdo un poco porque haciéndolo con la calculadora de Windows,
la
operación -105 MOD 60 da como resultado -45...

En cualquier caso, la ayuda de Excel dice que la función MODULO se puede
traducir también como n - d*INT(n/d), con lo que esa instrucción,
traducido a
TSQL sería

SELECT CAST((-105) - (60 * ROUND(-105./60, 0) ) AS INT)

Eso da como resultado 15


Un saludo
-
www.navento.com
Servicios de Localización GPS


"DT" wrote:

Hola a todos.

Si hago esto en Excel tengo los siguientes resultados:

=MOD(105,60)
Resultado: 45
=MOD(-105,60)
Resuldato: 15

Cmo puedo hacerlo en SQL Server???
He promado el:
Select
select 105 % 60
Resultado: 45
select -105 % 60
Resultado: -45

Neceisto obtener los mismos resultados que en Excel...

1000 gracias de antemano.

Respuesta Responder a este mensaje
#3 Jose Mariano Alvarez
12/03/2009 - 13:10 | Informe spam
Mas alla de la solucion, pueden fijarse en la wikipedia las diferentes
definiciones de modulo y como se comportan, como por ejemplo si son
consistentes con la division de enteros.

Ademas hay una tabla con diferentes lenguajes y el tipo de implementación de
modulo que utilizan

http://en.wikipedia.org/wiki/Modulo_operation



Saludos


Ing. Jose Mariano Alvarez
http://blog.josemarianoalvarez.com/
Microsoft MVP
SQLTotal Consulting

(Cambia los ceros por O y saca lo que sobra)

Este mensaje se proporciona tal como es, SIN GARANTIAS de ninguna clase. Por
favor tratar de indicar la versión de SQL y Service Pack. La inclusión de
(CREATE, INSERTS, etc.) para poder reproducir el problema también ayuda.



i






"DT" wrote in message
news:
Excelente, gracias!
"Carlos Sacristan" wrote in
message news:

Vaya, me pierdo un poco porque haciéndolo con la calculadora de Windows,
la
operación -105 MOD 60 da como resultado -45...

En cualquier caso, la ayuda de Excel dice que la función MODULO se puede
traducir también como n - d*INT(n/d), con lo que esa instrucción,
traducido a
TSQL sería

SELECT CAST((-105) - (60 * ROUND(-105./60, 0) ) AS INT)

Eso da como resultado 15


Un saludo
-
www.navento.com
Servicios de Localización GPS


"DT" wrote:

Hola a todos.

Si hago esto en Excel tengo los siguientes resultados:

=MOD(105,60)
Resultado: 45
=MOD(-105,60)
Resuldato: 15

Cmo puedo hacerlo en SQL Server???
He promado el:
Select
select 105 % 60
Resultado: 45
select -105 % 60
Resultado: -45

Neceisto obtener los mismos resultados que en Excel...

1000 gracias de antemano.






email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida