Sqlite 列出某一年度高级员工的详细信息

Sqlite 列出某一年度高级员工的详细信息,sqlite,Sqlite,我希望在sqlite中获得: 列出该高级员工属于1981的详细信息 但是 select * from emp where hiredate in (select min(hiredate) from emp where to_char( hiredate,’YYYY’) = ‘1981’) 不工作。我想to_char函数无法识别 我试过了 select min(hiredate) from table where hiredate IN ('1981%') 结果NULL

我希望在sqlite中获得:

列出该高级员工属于1981的详细信息

但是

select  *  from emp where hiredate in (select min(hiredate) from emp   
where  to_char( hiredate,’YYYY’) = ‘1981’)
不工作。我想to_char函数无法识别

我试过了

select min(hiredate) from table   
where hiredate IN ('1981%') 
结果
NULL

我提到日期是sqlite支持的格式<代码>yyyy-mm-dd


先谢谢你!:)

我假设
hiredate
的格式是
YYYY-MM-DD
,因为这是唯一可以直接比较的格式,并且可以在SQLite中作为日期进行操作(尽管它实际上是
TEXT
)。
如果是这样,则使用类似于这样的
运算符:

select * from emp 
where hiredate = (select min(hiredate) from emp where hiredate like '1981%')

如果你希望最早的雇佣日期是1981年,只需使用

SELECT *
FROM emp
WHERE hiredate LIKE '1981-%'
ORDER BY hiredate
LIMIT 1;
它按1981年雇佣日期对所有行进行排序,只返回第一个(最小)行。

您可以使用strftime函数代替to_char()。 strftime(“%Y”,hiredate)

从表中选择MIN(hiredate),其中STRFTIME(“%Y”,hiredate)=“1981”
to_char()
不是sqlite函数,否等。