select 
   Name, 
   to_char(Birthday, 'YYYY/MM/DD') Birthday, 
   to_char(Birthday, 'YYYY/MM')||'/01' Birthday_Firstday, 
   to_char(last_day(Birthday), 'YYYY/MM/DD') Birthday_Lastday
from 
   Student;

解决方案 »

  1.   

    给你个例子 
    select to_char(sysdate,'yyyy/mm/')||'01',to_char(sysdate,'yyyy/mm/dd'),
    to_char( Last_day(sysdate),'yyyy/mm/dd')  from dual
      

  2.   

    student表中增加了一个birthday字段,要求查询输出
    name;
    birthday 这个字段的输出格式是YYYY/MM/DD;
    birthday_firstday 这个字段要输出birthday所在月的第一天,输出格式同birthday字段;
    birthday_lastday 这个字段要输出birthday所在月的最后一天,输出格式同birthday字段;
    status 这个字段要根据 birthday如果是比1980小的,显示70年代,比1980大,比1990小,显示80年代,比1990大,显示90年代 。
    这样该如何去写~!~
      

  3.   

    status字段的显示可以用decode()
      

  4.   

    decode()语句加到哪呀
    怎么加啊 `!!
      

  5.   


    student表中增加了一个birthday字段,要求查询输出
    name;
    birthday 这个字段的输出格式是YYYY/MM/DD;
    birthday_firstday 这个字段要输出birthday所在月的第一天,输出格式同birthday字段;
    birthday_lastday 这个字段要输出birthday所在月的最后一天,输出格式同birthday字段;
    字段birthday_nextmonth,要求,输出与这个birthday相隔一个月的日期,输出格式同birthday
    status 这个字段要根据 birthday如果是比1980小的,显示70年代,比1980大,比1990小,显示80年代,比1990大,显示90年代 。该如何去写~!~  谢谢
      

  6.   

    select name , to_char(birthday,'yyyy/mm/dd') ,to_char(birthday,'yyyy/mm/')||'01'  birthday_firstday , to_char(last_day(birthday),'yyyy/mm/dd') birthday_lastday, 
    decode(sign(to_number(to_char(birthday,'yyyy'))-1980),-1,'70年代',decode(sign(to_number(to_char(birthday,'yyyy'))-1990),-1,'80年代','90年代')) status from student