Je suis en train d'exécuter cette requête, mais j'obtiens cette erreur:ERREUR: COALESCE types bytea et horodatage sans fuseau horaire ne peut être égalé
ERROR: COALESCE types bytea and timestamp without time zone cannot be matched
Je suppose que le problème est sur cette ligne:
COALESCE(:last_timestamp,date_trunc('hour', timestamp '1969-01-01 00:00:00.000000'))
le paramètre:
:last_timestamp
peut être NULL et ce pourquoi je fais ce cas
@Query(value="SELECT\n" +
" id,\n" +
" wristband_records_processed.device_id as deviceId,\n" +
" user_id as userId,\n" +
" rssi,\n" +
" record_timestamp as locationTimestamp,\n" +
" beacon_id as beaconId,\n" +
" locatable_devices.locatable_type as locatableType,\n" +
" coalesce(EXTRACT(EPOCH FROM (record_timestamp - lag(record_timestamp) OVER(order by record_timestamp))),0)as duration\n" +
" FROM wristband_records_processed\n" +
" LEFT JOIN locatable_devices on locatable_devices.device_id = wristband_records_processed.beacon_id\n" +
"where user_id = :userId and record_type != 'HANDWASH'\n" +
" and rssi >= -85 AND locatable_type != 'UNKNOWN' AND wristband_records_processed.record_timestamp> COALESCE(:last_timestamp,date_trunc('hour', timestamp '1969-01-01 00:00:00.000000')) \n " +
"OFFSET :offset LIMIT :limit ;", nativeQuery = true)
Nous vous remercions de l'aide
j'ai essayé plusieurs façons de coulée, mais non d'entre eux travaillent pour moi –
Où est last_timestamp défini et défini dans le code Spring? –
si c'est juste le type, pas la valeur - essayez 'COALESCE (: last_timestamp :: text :: timestamptz' ou même' COALESCE (to_timestamp (: last_timestamp :: texte) :: timestamptz' –