sql >> Base de Datos >  >> RDS >> PostgreSQL

PostgreSQL, Npgsql devuelve 42601:error de sintaxis en o cerca de $ 1

PostgreSQL no le permite pegar un parámetro en ninguna parte de una consulta. Lo que desea se puede lograr con lo siguiente:

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

De esta forma, está pasando el intervalo directamente de Npgsql a PostgreSQL, en lugar de una parte de la expresión diseñada para crear ese intervalo.