我的日期格式为2012-08-10。我想要日期的前四位数字。
使用extract(year from date)
有效,但它会在CakePHP中出现问题。
所以我尝试使用LEFT()
或RIGHT()
:
select LEFT(date,4) from table
但它没有用。
答案 0 :(得分:4)
如果您希望将date
中的四位数字作为字符串,那么to_char
就是您想要的:
select to_char(some_date, 'YYYY') from table;
实际上,数据库中的任何日期或时间格式都应该使用to_char
完成,因此您可能需要阅读the fine manual。
LEFT无效,因为LEFT想要一个字符串参数,但你给它一个date
。
答案 1 :(得分:4)
如果您不想使用像
这样的提取,则可以使用子字符串select substring('2012-4-03',1,4);
或使用select to_char(some_date, 'YYYY') from table;
你也可以编写一个左边调用的函数。但postgresql中没有内置函数。
答案 2 :(得分:3)