¿SQL Server equivalente a MySQL NOW ()?


197

Soy un chico de MySQL que trabaja en un proyecto de SQL Server, tratando de obtener un campo de fecha y hora para mostrar la hora actual. En MySQL usaría NOW () pero no lo acepta.

INSERT INTO timelog (datetime_filed) VALUES (NOW())

Respuestas:



74
getdate() 

es el equivalente directo, pero siempre debes usar las fechas UTC

getutcdate()

si su aplicación funciona en zonas horarias o no; de lo contrario, corre el riesgo de arruinar las matemáticas de la fecha en las transiciones de primavera / otoño



24

También puede usar CURRENT_TIMESTAMP, si tiene ganas de ser más compatible con ANSI (aunque si está transfiriendo código entre proveedores de bases de datos, esa será la menor de sus preocupaciones). Es exactamente lo mismo que GetDate()debajo de las cubiertas (vea esta pregunta para obtener más información al respecto).

Sin GetUTCDate()embargo, no existe un equivalente ANSI , que probablemente sea el que debería usar si su aplicación funciona en más de una zona horaria ...


55
Me gusta CURRENT_TIMESTAMPporque funciona en MySQL, SQL Server, Oracle ... Como dijiste, es la menor de nuestras preocupaciones, pero siempre ayuda.
Álvaro González
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.