我有一个查询,返回一个字段作为月份和年份,例如“Nov 2015”我想获得月份的数字,在这里我必须获得数字作为“11”。
oknwwptz1#
你可以使用to_date函数,它可以把某种格式的输入解析成一个“真实的”的日期,然后用这个日期你可以从中提取月份。
select EXTRACT(MONTH FROM to_date('Nov 2015', 'Mon YYYY'))
格式语法请参见http://www.postgresql.org/docs/current/static/functions-formatting.html,其他日期时间函数请参见http://www.postgresql.org/docs/current/static/functions-datetime.html。
mpbci0fu2#
to_char()
select to_char(to_date('Nov 2015', 'Mon YYYY'), 'mm') month_no
并且查询可以是
select to_char(to_date(your_date_col, 'Mon YYYY'), 'mm') month_no from table_name
bn31dyow3#
如果您的日期是时间戳,例如:“2017-01-24 23:00:00-03”(这是带时区的时间戳)
select to_char(your_date, 'MM') from your_table
在这种情况下,结果将是:“01”
ippsafx74#
您可以使用函数to_timestamp(文本,文本)和extract(从时间戳提取字段):
SELECT EXTRACT(MONTH FROM TO_TIMESTAMP("Nov 2015", "Mon YYYY"));
请参阅to_timestamp和extract的文档
5gfr0r5j5#
我使用将月份编号转换为相应月份名称的基本示例:
SELECT to_char( to_date (1::text, 'MM'), 'Month' ) AS "Month Name";
结果:
Month Name ----------- January
5条答案
按热度按时间oknwwptz1#
你可以使用to_date函数,它可以把某种格式的输入解析成一个“真实的”的日期,然后用这个日期你可以从中提取月份。
格式语法请参见http://www.postgresql.org/docs/current/static/functions-formatting.html,其他日期时间函数请参见http://www.postgresql.org/docs/current/static/functions-datetime.html。
mpbci0fu2#
to_char()
并且查询可以是
bn31dyow3#
如果您的日期是时间戳,例如:“2017-01-24 23:00:00-03”(这是带时区的时间戳)
在这种情况下,结果将是:“01”
ippsafx74#
您可以使用函数to_timestamp(文本,文本)和extract(从时间戳提取字段):
请参阅to_timestamp和extract的文档
5gfr0r5j5#
我使用将月份编号转换为相应月份名称的基本示例:
结果: