sql—编写查询以显示在6月份加入的唯一学生id按升序对结果排序

dwthyt8l  于 2021-08-13  发布在  Java
关注(0)|答案(2)|浏览(441)

关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。

11个月前关门了。
改进这个问题
这就是我试过的-

select distinct studid 
from registration 
where to_char(doj,'MM')='june'
order by studid;

但我没有得到想要的结果。

db2dz4w8

db2dz4w81#

带有mm参数的to_char()将给出06,而不是june。你可以试试下面的查询-

select distinct studid 
from registration 
where to_char(doj,'MM')='06'
order by studid;

您应该使用oracle特定的函数extract-

select distinct studid 
from registration 
where extract(month from doj) = 6
order by studid;
f87krz0w

f87krz0w2#

我假设您运行的是oracle,因为 to_char() 建议。
如果你想让学生在某一年的6月加入,比如说2019年,那么我建议你检查一下 doj 相对于半开间隔(这比在列上应用日期函数更有效):

select distinct studid
from registration
where doj >= date '2019-06-01' and doj < date '2019-07-01'
order by studid

另一方面,如果你想在六月的任何一个月加入sudent:

select distinct studid
from registration
where extract(month from doj) = 6
order by studid

相关问题