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)