2010-12-20 14 views
57

En el código VB.net, creo solicitudes con parámetros de SQL. Establecí un parámetro DateTime en el valor DateTime.Now, ¿cómo se verá mi solicitud?Establezca un campo de base de datos DateTime en "Ahora"

UPDATE table SET date = "2010/12/20 10:25:00"; 

o

UPDATE table SET date = GETDATE(); 

En el primer caso, estoy seguro de que cada registro se establece en el mismo momento. En el segundo caso, depende de cómo el DBMS procesa la solicitud. Lo que me lleva a la segunda pregunta: ¿SQL Server establece la misma fecha y hora al actualizar una tabla grande con NOW()?

EDIT: sustituyó NOW() (que no existe en SQL Server) por GETDATE().

Respuesta

111

En SQL es necesario utilizar GETDATE():

UPDATE table SET date = GETDATE(); 

no hay ninguna función NOW().


Para responder a su pregunta:

En una mesa grande, ya que se evalúa la función para cada fila, el resultado final será conseguir diferentes valores para el campo actualizado.

lo tanto, si su requerimiento es para configurar todo a la misma fecha que haría algo como esto (no probado):

DECLARE @currDate DATETIME; 
SET @currDate = GETDATE(); 

UPDATE table SET date = @currDate; 
+0

Oops sí AHORA() es Mysql, lo siento. Pero las preguntas permanecen. –

+0

@Thibault Witzig - Lo respondí en mi actualización :) – Oded

+0

Ok gracias. Así que necesito asegurarme de poner la fecha real (del código) en mi solicitud dans not GETDATE() ¿Lo conoces estableciendo el parámetro SQL en DateTime.Now hará esto o si debo convertir primero la fecha a una cadena y luego agrégalo a la solicitud? –

6

Uso GETDATE()

Devuelve el sistema de base de datos actual marca de tiempo como un valor de fecha y hora sin el desplazamiento de la zona horaria de la base de datos. Este valor se deriva del sistema operativo de la computadora en la que se está ejecutando la instancia de SQL Server.

UPDATE table SET date = GETDATE() 
16

Una alternativa a GetDate() es CURRENT_TIMESTAMP. Hace exactamente lo mismo.

+2

'CURRENT_TIMESTAMP' es el SQL Standard actual, por lo que algunos podrían argumentar que esta es la sintaxis preferida. –

Cuestiones relacionadas