sql >> Databasteknik >  >> RDS >> PostgreSQL

PostgreSQL, Npgsql returnerar 42601:syntaxfel på eller nära $1

PostgreSQL tillåter dig inte att fästa en parameter någonstans i en fråga. Det du vill kan uppnås med följande:

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

På så sätt skickar du intervallet direkt från Npgsql till PostgreSQL, snarare än en del av uttrycket som är utformat för att skapa det intervallet.



  1. mysql-anslutningen är inte integrerad i Visual Studio

  2. MySQL filtrerar resultat efter månad och år

  3. STRING_SPLIT() i SQL Server 2016:Uppföljning #2

  4. Infoga i välj och uppdatera i en enda fråga