SQL查询按"月,年"返回数据

时间:2016-12-21 23:37:28

标签: sql postgresql

我在数据库中的数据以下列格式存储。

id  period_start_date   period_end_date
1   1/1/17 0:00         1/31/2017 23:59
1   2/1/17 0:00         2/28/2017 23:59
1   3/1/17 0:00         3/31/2017 23:59
1   4/1/17 0:00         4/30/2017 23:59

我希望在UI中将此数据作为下拉列表

January 2017
February 2017
March 2017
April 2017

任何人都可以告诉我是否有办法以上述格式在查询中获取此数据。

1 个答案:

答案 0 :(得分:1)

使用to_char获取一年中的月份和extract。您不能使用trim一个月和一年的电话,因为月份是黑色空间填充。您的月份位于左侧,因此您需要SELECT trim(to_char(period_start_date, 'Month') || ' ' || extract(year FROM period_start_date) FROM ( VALUES ('1/1/17 0:00'::date) ) AS t(period_start_date);

SELECT trim(to_char(period_start_date, 'Month') ||
  ' ' ||
  extract(year FROM period_start_date)
FROM table;

更新(从表格中选择)

socket_read