我正在使用 Npgsql 3.0.3.0 和 PetaPoco 最新版本。
当我运行这个命令时:
var dateCreated = DateTime.Now; // just an example
var sql = new Sql("WHERE date_created = @0", dateCreated.ToString("yyyy-MM-dd HH:00:00"));
var category = db.SingleOrDefault<Category>(sql);
我收到以下错误:
Npgsql.NpgsqlException 42883:运算符不存在:时间戳
没有时区 = 文本
我理解错误消息是说我正在尝试将时间戳(日期)与文本进行比较,但是对我来说,像我一样比较它们是完全有效的期待要构建以下 SQL 语句:
SELECT * FROM category WHERE date_created = '2017-02-03 15:00:00'
出于性能原因,我真的不想将数据库列类型转换为文本。
您需要将值转换为时间戳:
var sql = new Sql("WHERE date_created = @0::timestamp", dateCreated.ToString("yyyy-MM-dd HH:00:00"));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)