【问题标题】:New to SQL - Trouble getting quarterly date outputSQL 新手 - 无法获取季度日期输出
【发布时间】:2013-05-15 21:06:38
【问题描述】:

总的来说,我对 sql 和数据库非常陌生。试图自学语言,但我被困住了,想知道哪里出了问题。所以这就是我所拥有的:

1976-01-01,6.1
1976-04-01,5.7
1976-07-01,5.7
1976-10-01,5.8

...

我将它插入到表格中

CREATE TABLE "va unem"
    (Date DATE NOT NULL PRIMARY KEY, Val REAL   
);

``

COPY "va unem"
    FROM 'C:\Users\Public\Documents\SQL\fred\vsaur.csv'
    DELIMITER ',' 
    CSV
;

这行得通。问题是当我select * 时,输出会截断日期。例如:

1|1976|6.1
2|1976|5.7
3|1976|5.7
4|1976|5.8
...

我需要展示每个季度。这并没有给我每个季度。帮助表示赞赏。我正在使用postgresql。如果我需要提供更多信息,请告诉我。

【问题讨论】:

  • 如果表格真的像这样,select * 结果中的第一列是从哪里来的?您可能想发布您的 real 架构 :)
  • 抱歉,1、2、3、4 实际上并不是输出的一部分……postgres 为每一行编号。我想上传截图,但我显然缺乏声誉。
  • 好吧,我认为它不是模式的原因还在于日期字段的输出看起来很奇怪,几乎就像将它导入到一个 int 列中一样。没有别的了,对不起:)

标签: sql postgresql date sqlbulkcopy sql-insert


【解决方案1】:

验证您的 BD 格式必须与 CSV 文件的格式相匹配。在控制台 Postgesql 中执行以下命令:

SHOW datestyle;

应该返回:

  dateStyle
-----------
  ISO, YMD
(1 row)

但是它返回修改格式是用下面的命令完成的:

SET datestyle = "ISO, YMD";

你使用的是那个 Postgest 版本?

【讨论】:

  • 感谢所有反馈的家伙 - 非常感谢。看起来日期样式是问题所在。我将其更改为 YMD 并且工作正常。不完全确定我使用的是什么版本。下载了最新的 windows 选项。名为“pgadmin III”的程序。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多