PostgreSQL 8.2和8.3之间的TO_DATE函数

PostgreSQL 8.3增强了数据类型检查,导致从8.2迁移的应用程序遇到错误,特别是TO_DATE函数。在8.2中,该函数能接受两个文本参数,而在8.3中需要显式类型转换,如添加::text。这种严格的数据类型检查在某些情况下可能引发问题。
摘要由CSDN通过智能技术生成

众所周知,PostgreSQL 8.3对数据类型进行了非常严格的检查,从PostgreSQL8.x迁移到PostgreSQL8.3后,它使很多应用程序遇到许多数据类型错误。 主要是由数据类型检查引起的。

常见错误之一是to_date()函数。 它接受两个文本作为参数。

to_date(text,text)

好的,现在我创建一个如下表。 一个简单的表调用n_url_test包含一个createddate作为时间戳数据类型。

CREATE TABLE n_url_test
(
  urltestid bigserial NOT NULL,
  createddate timestamp without time zone DEFAULT now(),
  CONSTRAINT n_url_to_test_pkey PRIMARY KEY (urltestid)
)

我在PostgreSQL8.2中运行以下sql,它以YYYY-MM-DD格式返回我的预期结果。

--PostgreSQL 8.2
---------------
select  to_date(createddate,'YYYY-MM-DD') from n_url_test;

但是,当我迁移到PostgreSQL8.3之后,我遇到了以下错误

--PostgreSQL 8.3
---------------
select
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值