2011-03-15 361 views
11

Mi sitio web funciona perfectamente en local, pero no en el host. Escribí mis consultas con MSSQL 2008 en local, pero nuestra empresa de hosting usó 2005
¿Alguna solución?
EDITAR: Usar DateTime en lugar de Date que parece una solución, gracias. Si alguien encuentra un problema como este, he resuelto mi problema con el uso de esta consulta en lugar del tipo de fecha."Tipo DATE no es un tipo de sistema definido."

CONVERT (VARCHAR, GETDATE(), 104) de salida -> 15.03.2011

Respuesta

17

como la fecha columnas no están disponibles en SQL Server 2005 por lo que tiene dos opciones:

1) Haz tu hosting compañía para utilizar SQL Server 2008 (o elige un huésped que lo hace)

2) uso columnas DateTime en lugar de la fecha

+0

excelente, he usado 'datetime' en su lugar. ¿dará el mismo resultado? – BNN

1

Cambiar la base de datos de fecha y hora de usar en lugar de la fecha. Ese tipo de columna es compatible con SQL Server 2005, mientras que Date no.

8

DATE es un nuevo tipo de datos introducido en 2008. No está disponible en 2005.

7
SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE())) 
+2

Otra versión 'SELECT CAST (DATEDIFF (dd, 0, GETDATE()) AS DATETIME)' – Jaider

0

en 2005 ejecuta cada vez como a las 12:00 AM, esto permitirá que las dimensiones de tiempo coincidan.

a quitarse el "tiempo" usar algo como esto:

CAST (CONVERT (varchar (20), enteredDate, 101) AS DateTime) AS 'enterDate'

que dará lugar a su tiempo el valor es 12:00:00 AM, que es el predeterminado y se puede considerar efectivamente como "nulo".

Cuestiones relacionadas