Saltar al contenido

Utilice TO_DATE en SQL Server 2012

Solución:

SQL-Server no tiene TO_DATE función. Tienes que usar convert. Mira aquí

-- Specify a datetime string and its exact format
SELECT TO_DATE('2012-06-05', 'YYYY-MM-DD') FROM dual;


-- Specify a datetime string and style 102 (ANSI format), raises an error if conversion fails
  SELECT CONVERT(DATETIME, '2012-06-05', 102);

  -- TRY_CONVERT available since SQL Server 2012 (returns NULL if conversion fails)
  SELECT TRY_CONVERT(DATETIME, '2012-06-05', 102);

Para su uso de caso específico:

convert(DATETIME, '2011-11-09 00:00:00')

TO_DATE () no es una función válida en SQL Server (T-SQL)

Las alternativas dependen de la versión de SQL Server que esté utilizando

CAST () o CONVERT () se pueden utilizar en cualquier versión. A partir de SQL Server 2012 en adelante, se puede usar TRY_CAST () o TRY_CONVERT (). La ventaja de usar el último par es que no cometen errores si las cadenas no se pueden convertir cuando devuelven nulo en su lugar.

Para cadenas de fecha / hora, generalmente se usa CONVERT () o TRY_CONVERT (), ya que puede pasar números de “estilo” donde AAAA-MM-DD es “estilo” 102 p. Ej.

SELECT TRY_CONVERT(DATE,'2017-01-21',102)

Sin embargo, es posible utilizar CAST / TRY_CAST como este ejemplo:

SET DATEFORMAT mdy;  
SELECT TRY_CAST('12/31/2016' AS datetime)
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *