Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database PostgreSQL日期样式更改_Database_Postgresql_Date_Format - Fatal编程技术网

Database PostgreSQL日期样式更改

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' 当我试图将它加载到使

我正忙于传输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'
当我试图将它加载到使用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格式的数据库