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

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

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

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

  1. select distinct studid
  2. from registration
  3. where to_char(doj,'MM')='june'
  4. order by studid;

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

db2dz4w8

db2dz4w81#

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

  1. select distinct studid
  2. from registration
  3. where to_char(doj,'MM')='06'
  4. order by studid;

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

  1. select distinct studid
  2. from registration
  3. where extract(month from doj) = 6
  4. order by studid;
f87krz0w

f87krz0w2#

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

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

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

  1. select distinct studid
  2. from registration
  3. where extract(month from doj) = 6
  4. order by studid

相关问题