Database PostgreSQL日期样式更改
我正忙于传输PostgreSQL数据库,但我注意到,当我备份导出PostgreSQL数据库时,它会将日期输出为Y/m/d 我之前设置了datestyle='ISO,DMY',当我插入时,我可以将日期作为DMY插入Database PostgreSQL日期样式更改,database,postgresql,date,format,Database,Postgresql,Date,Format,我正忙于传输PostgreSQL数据库,但我注意到,当我备份导出PostgreSQL数据库时,它会将日期输出为Y/m/d 我之前设置了datestyle='ISO,DMY',当我插入时,我可以将日期作为DMY插入 insert into tablename (datefield) values ('30-12-2015'); 我用了show datestyle,我确实得到了 "ISO, DMY" 但是当我从表中选择时,我看到datetime为 '2015-12-30' 当我试图将它加载到使
insert into tablename (datefield)
values ('30-12-2015');
我用了show datestyle,我确实得到了
"ISO, DMY"
但是当我从表中选择时,我看到datetime为
'2015-12-30'
当我试图将它加载到使用DMY的数据库中时,它正在备份它,但失败了
这是为什么?我如何将存储在数据库中的数据设置为DMY,以便在从表中选择时看到
'30-12-2015'
似乎我已经找到了解决方案,使用我必须运行的DMY格式查看数据库中的日期
set datestyle = 'SQL, DMY'
而不是
set datestyle = 'ISO, DMY'
Afaik不能更改日期字段的内部表示形式。但是,当您从表中查询字段时,您可以将输出格式化为任何您想要的格式。最好不要依赖任何格式并使用ANSI日期文字:
date'2015-12-30'
。您看到的格式始终由您使用的SQL客户机应用。这与日期的存储方式无关。yyyy-mm-dd格式始终标识为ISO样式,而不考虑日期样式,这就是导出使用该格式的原因。通常我更喜欢使用时间戳,但是我需要完成的任务已经有一个使用DMY格式的数据库