从提取年份开始,然后找出闰年出生的人

时间:2016-03-09 14:37:36

标签: sql oracle date

从表Client中了解闰年的出生人(date)。 表"客户"只包含行"日期"如果您从日期中选择全部,您将获得所有客户的生日,例如07.07.98,04.11.88和null,因为没有关于该客户的记录 闰年可以被4整除,并且不能被100整除。 我们去的时候

select date from client;

我们得到了

03.11.73
02.12.74
09.02.85
.......

我需要编写一个查询,如果那一年对应所需的查询,就会提取年份,在这种情况下,年份就像" 1600,2000 i 2400"

2 个答案:

答案 0 :(得分:1)

在这里如何找到闰年出生的任何人的出生日期:

如果date是日期格式

select date 
  from client 
 where TO_CHAR(LAST_DAY(TO_DATE('01/02/'||to_char(date,'yy'), 'dd/mm/yy')), 'DD') = 29;

如果date是char:

select date 
  from client 
 where TO_CHAR(LAST_DAY(TO_DATE('01/02/'||substr(date, 7, 2), 'dd/mm/yy')), 'DD') = 29;

答案 1 :(得分:1)

我已按照我想要显示的方式调整了查询​​:

select distinct someYear from (select extract(year from date)  sameYear
  from Client
 where TO_CHAR(LAST_DAY(TO_DATE('01.02.99'||substr(date, 7, 2),
 'dd.mm.yyyy')), 'DD') = 29 ) Table order by sameYear asc;

结果是:

      1912 
      1920 
      1924 
      1932 
      1936 
      1940 
      1944 
      1948 
      1952 
      1956 
      1960 
      1964 
      1968 
      1972 
      1976 
      1980 
      1984 
      1988 
      1992 
      1996 
      2004 
      2008 
      2012