PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

PostgreSQL, Npgsql gibt 42601 zurück:Syntaxfehler bei oder nahe $1

PostgreSQL erlaubt es Ihnen nicht, einen Parameter irgendwo in eine Abfrage einzufügen. Was Sie wollen, können Sie wie folgt erreichen:

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

Auf diese Weise übergeben Sie das Intervall direkt von Npgsql an PostgreSQL und nicht einen Teil des Ausdrucks, der zum Erstellen dieses Intervalls entwickelt wurde.