PostgreSQL 低级错误集锦 (不定时更新)

低级错误真的浪费时间且菜,希望不再犯低级重复错误。

1.to_date()函数日期转换报错

SQL语句:

SELECT job_date FROM data_check
WHERE data_type = 'S';

查询结果:

job_date |
----------+
2023-01-28|

我希望用update语句更新job_date字段,但出现报错,就用SELECT语句查看问题。

我的SQL:

SELECT to_date('20230127','yyyy-mm-dd hh24:mi:ss') FROM data_check
WHERE data_type = 'S' ;

报错信息:

SQL 错误 [22008]: ERROR: date out of range: "20230127"

为什么报错?

在 PostgreSQL 中,to_date 函数用于将字符串转换为日期,"20230127" 不是有效的日期格式,因此导致了日期超出范围的错误。

在我的 SQL 查询中,to_date('20230127','yyyy-mm-dd hh24:mi:ss') 的日期格式为 'yyyy-mm-dd hh24:mi:ss',但是输入的字符串 "20230127" 并不符合该格式,因此 PostgreSQL 无法正确解析。

使用to_date函数时,转换格式需要和日期本来的格式相匹配

正确的SQL:

SELECT to_date('20230127', 'YYYYMMDD');

你可能感兴趣的:(postgresql)