oracle查询截至到当前日期月份所在年份的所有月份
下面通过一个查询语句给大家介绍oracle查询截至到当前日期月份所在年份的所有月份,具体代码如下所示:
SELECTto_number(TO_CHAR(add_months(trunc(sysdate,'yy'),ROWNUM-1),'MM'))asmonth FROMDUAL CONNECTBYROWNUM<= (selectmonths_between(trunc(sysdate,'mm'),trunc(sysdate,'yy'))+1 fromdual);
当然,也可以指定具体的时间段,只要把months_between里面的两个日期改成具体的日期就行,
其中,trunc(sysdate,'mm')是返回当月的第一天,trunc(sysdate,'yy')是返回当年的第一天。
扩展知识点Oracletrunc()函数的用法
/**************日期********************/ selecttrunc(sysdate)fromdual--2013-01-06今天的日期为2013-01-06 selecttrunc(sysdate,'mm')fromdual--2013-01-01返回当月第一天. selecttrunc(sysdate,'yy')fromdual--2013-01-01返回当年第一天 selecttrunc(sysdate,'dd')fromdual--2013-01-06返回当前年月日 selecttrunc(sysdate,'yyyy')fromdual--2013-01-01返回当年第一天 selecttrunc(sysdate,'d')fromdual--2013-01-06(星期天)返回当前星期的第一天 selecttrunc(sysdate,'hh')fromdual--2013-01-0617:00:00当前时间为17:35 selecttrunc(sysdate,'mi')fromdual--2013-01-0617:35:00TRUNC()函数没有秒的精确 /***************数字********************/ /* TRUNC(number,num_digits) Number需要截尾取整的数字。 Num_digits用于指定取整精度的数字。Num_digits的默认值为0。 TRUNC()函数截取时不进行四舍五入 */ selecttrunc(123.458)fromdual--123 .selecttrunc(123.458,0)fromdual--123 .selecttrunc(123.458,1)fromdual--123.4 .selecttrunc(123.458,-1)fromdual--120 .selecttrunc(123.458,-4)fromdual--0 .selecttrunc(123.458,4)fromdual--123.458 .selecttrunc(123)fromdual--123 .selecttrunc(123,1)fromdual--123 .selecttrunc(123,-1)fromdual--120
总结
以上所述是小编给大家介绍的oracle查询截至到当前日期月份所在年份的所有月份,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。