PostgreSQL中处理含时分秒日期报错,求解决方法
解决PostgreSQL日期更新的格式错误问题
问题出在两个关键点:
- 你用了
mon格式符,这个是用来匹配月份英文缩写(比如Mar、Apr)的,但你的输入是数字03,格式不匹配导致报错。 TO_DATE函数只能生成仅含年月日的日期类型,没法保留时分秒信息,要处理包含完整时间的日期,得用TO_TIMESTAMP函数。
正确的UPDATE语句
把格式符mon换成MM(匹配数字月份),同时替换函数为TO_TIMESTAMP:
update verificationcodes set date = TO_TIMESTAMP('2023-03-12 23:10:25','YYYY-MM-DD hh24:mi:ss') where id = 68;
更简便的写法
如果你的date字段类型是timestamp或timestamptz,PostgreSQL支持直接识别标准的YYYY-MM-DD HH:MI:SS格式字符串,不用转换函数也能直接赋值:
update verificationcodes set date = '2023-03-12 23:10:25' where id = 68;
内容的提问来源于stack exchange,提问作者miguel silvestre
相关产品推荐
相关产品推荐

