PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL, Npgsql che restituisce 42601:errore di sintassi pari o vicino a $ 1

PostgreSQL non ti consente di inserire un parametro in un punto qualsiasi di una query. Quello che vuoi può essere ottenuto con quanto segue:

var command = new NpgsqlCommand("select * from Logs.Logs where Log_Date > current_date - @days", conn))
command.Parameters.AddWithValue("@days", TimeSpan.FromDays(days));

In questo modo stai passando l'intervallo direttamente da Npgsql a PostgreSQL, piuttosto che una parte dell'espressione progettata per creare quell'intervallo.