oracle中的日期格式

时间:2009-09-14 06:40:11

标签: oracle

从数据库中我只想从整个日期格式中拿出一个月。虽然我把这个月定为08年8月和09年9月等。但我需要将月份定为8月8日和9月份九月等。

我该怎么办?任何人都可以帮助我吗?

4 个答案:

答案 0 :(得分:5)

  select to_number(to_char(sysdate, 'mm')) from dual

答案 1 :(得分:2)

此查询返回09:

select to_char(sysdate, 'MM') from dual

此查询返回9:

select ltrim(to_char(sysdate, 'MM'),'0') from dual

答案 2 :(得分:2)

试试这个,只用一个函数调用就可以了:

select to_char(sysdate, 'FMMM') from dual;

有关“FM”语法的详细信息,请参阅Format Model Modifiers

答案 3 :(得分:0)

关于FM运算符的一个重要事项是它基本上起到了“切换”的作用。将FM元素视为作用于datetime元素的完整的前缀。

所以在这种情况下,你只需要一个月,FMMM说,基本上,'带回MM(月份在1到12之间),但不要使用前导零。'

例如,如果您使用:

select to_char(sysdate, 'FMMMDD') from dual;

这将被解释为'带回MMDD(1到12之间的月份,1到31之间的一天),但是从月份和日期开始都没有前导零

例如,如果您的日期是8月8日,那么

select to_char(sysdate, 'MMMDD') from dual;

将返回

0808

添加FM运算符

select to_char(sysdate, 'FMMMDD') from dual;

将返回

88

注意FM如何在整个datetime元素上运行。