Estoy tratando de ejecutar un uso de selección openquery
con el resultado de filtrado por fecha, pero tengo un problema con el uso de la fecha después de la cláusula where.
Idealmente me gustaría poder pasar una variable
set @d = dateadd(day, -30, getdate())
pero por el bien de ejemplo intentaré usar la fecha especificada:
Ejemplo:
select *
from OPENQUERY([Linked_Server], 'select id, name from Users where LastModifiedDate > ''2017-01-01''')
Esto devuelve un error:
INVALID_FIELD:
seleccione id, nombre de Usuarios donde LastModifiedDate> '2017-01-01' el
valor del criterio de filtro para el campo 'LastModifiedDate' debe ser de tipo dateTime y no debe estar entre comillas ".
Funciona bien si lo uso, por ejemplo istrue = true
, pero comparar fechas parece ser el problema.
¿Alguien puede aconsejarme sobre esto?
Parece que está consultando un servidor vinculado que no es SQL Server estándar, sino Salesforce, que usa SOQL, que tiene un formato específico para los literales de fecha y hora . El formato correcto para los filtros de fecha en Salesforce es:
WHERE LastModifiedDate > 2017-01-01T00:00:00Z
Entonces su SQL completo debería ser:
SELECT *
FROM OPENQUERY(
[Linked_Server],
'SELECT id, name FROM Users WHERE LastModifiedDate > 2017-01-01T00:00:00Z')
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras