海
从数据库中我只想从整个日期格式中拿出一个月。虽然我把这个月定为08年8月和09年9月等。但我需要将月份定为8月8日和9月份九月等。
我该怎么办?任何人都可以帮助我吗?
答案 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元素上运行。