PostgreSQL, Npgsql returning 42601: syntax error at or near “$1”

后端 未结 3 1856
醉酒成梦
醉酒成梦 2021-01-13 19:00

I\'m trying to use Npgsql and/or Dapper to query a table and I keep running into Npgsql.PostgresException 42601: syntax error at or near \"$1\".

Here is

3条回答
  •  说谎
    说谎 (楼主)
    2021-01-13 19:41

    PostgreSQL doesn't allow you to stick a parameter anywhere in a query. What you want can be achieved with the following:

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

    This way you're passing the interval directly from Npgsql to PostgreSQL, rather than a part of the expression designed to create that interval.

提交回复
热议问题