我写过这个
SELECT last_name from EMPLOYEES where year(HIRE_DATE)='2000';
但它显示“无效的标识符年”。
答案 0 :(得分:1)
如果您想获得一年的雇佣日期,您只需使用
<强>的PostgreSQL:强>
EXTRACT( YEAR FROM hire_date::DATE) = 2000
以及您必须使用的月份
EXTRACT( MONTH FROM hire_date::DATE) = 12
<强> MySQL的:强>
EXTRACT( YEAR FROM hire_date) = 2000
以及您必须使用的月份
EXTRACT( MONTH FROM hire_date) = 12
希望能帮到你。
更新注意事项:
原始问题是MySQL标记的,响应据说由原始海报工作,响应以PostgreSQL格式提供,怀疑OP应该标记问题为PostgreSQL而不是MySQL 。澄清了这个答案,以显示两种工作解决方案。
答案 1 :(得分:0)
不要提取年份。代替:
SELECT last_name
FROM EMPLOYEES
WHERE hire_date >= '2000-01-01' AND
hire_date < '2001-01-01';
为什么呢?此版本可以利用索引。
答案 2 :(得分:0)
Extract(year from hire_date)
以上可以很好地获得年份,只需每年更换一个月即可。