Ver Mensaje Individual
  #25 (permalink)  
Antiguo 16/11/2013, 12:00
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: 3 puntos de algebra relacional,consultas,having

Movido a Foro de SQL Server.

Ten en cuenta siempre postear en el foro correcto. Si bien existe un SQL estándar (ANSI), cada DBMS tiene suficientes diferencias como para generar errores usando la misma sintaxis entre DBMSs cruzados.
En caso de cualquier uso de GROUP BY es paradigmático: MySQL permite hacer cosas que otros no, por lo que es altamente probable que una consulta con GROUP BY en MySQL de errores en SQL Server.

Además, uso de fechas en los diferentes DBMS tampoco está muy normalizado, salvo contadas excepciones. Si bien todos usan el mismo tipo de dato físico para su almacenamiento, cada DBMS usa diferentes funciones para interpretar una cadena de texto como fecha.
Sea el caso MySQL:
Código MySQL:
Ver original
  1. '2013-11-12' >= CURDATE();
Código MySQL:
Ver original
  1. DATE('2013-11-12') >= CURDATE();
Código MySQL:
Ver original
  1. STR_TO_DATE('2013-11-12', '%Y-%m-%d') >= CURDATE();
Código MySQL:
Ver original
  1. STR_TO_DATE('11/12/2013', '%d/%m/%Y') >= CURDATE();

Oracle:
Código SQL:
Ver original
  1. TO_DATE('2013-11-12', 'YYYY-MM-DD') >= SYSDATE;
Y creo que SQL Server sería mas o menos:
Código SQL:
Ver original
  1. CONVERT(datetime, '01/06/2013', 103) >= GETDATE()
Que me corrijan si me equivoco en este último.

Como podrás ver, ninguno de los tres usa la misma forma para hacer la misma operación, a pesar qu een los tres casos se trata exactamente de la misma comparación.

Por eso, debes definir bien lo que estás usando, y no confundirte a la hora de presentar el trabajo, si se te exige usar un DBMS específico (cosa que no has aclarado).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 16/11/2013 a las 14:52