今天早些时候我在摆弄我们的一个数据库,我很好奇如何在 psql 中做一些事情。假设我有如下查询(其中value1是mytable中的文本类型):
SELECT * FROM mytable WHERE value1::date < '2013-10-24'::date;
如果所有行都包含可转换的日期字符串,则此方法可以正常工作。第二个它找到一个不能转换为日期的字符串,就会抛出一个错误,如下所示:
ERROR: invalid input syntax for type date: "C"
这是有道理的,应该发生。但是有没有办法修改上面的查询,这样如果我们遇到 value1 会触发这个错误的行,它就会继续前进,然后跳过那一行?我问的更多是出于好奇而不是实际需要答案,并且在网络上四处挖掘并没有产生太多结果(当然,这可能与我正在使用的关键字有关。)