class DuckDB::PreparedStatement

def bind_interval(index, value)

stmt.bind(1, 'P1Y2D')
stmt = PreparedStatement.new(con, sql)
sql ='SELECT value FROM intervals WHERE interval = ?'
con = db.connect
db = DuckDB::Database.open('duckdb_database')
require 'duckdb'

The second argument value is to expected ISO8601 time interval string.
The index of first parameter is 1 not 0.
The first argument is index of parameter.
binds i-th parameter with SQL prepared statement.
def bind_interval(index, value)
  value = Interval.to_interval(value)
  _bind_interval(index, value.interval_months, value.interval_days, value.interval_micros)
end