FM
经测试,FM有“双重否定为肯定”的效果,呵呵
即从字符串开始到想要格式化的位置。FM出现奇数次,则表示去除空格,出现偶数次相当于没效果
例:‘FMMonth,FMDay,FMYYYY’ ,
month出现一次则格式化,day出现两次没效果,结果为July,Monday ,2013;
'FMFMMonth,FMDay,FMYYYY'
month出现2次,day出现3次,结July ,Monday,2013;
FM就像个开关,第一个"FM"告诉ORACLE去除整个转换字符串中所有的空格,但是第二个"FM"告诉ORACLE停止去除随后的星期和年份的空格。这就意味着"Monday"带有额外的空格,而结果会显示"19"
SQL> select TO_CHAR(123.34, 'FM9999999.0099') from DUAL2 ;TO_CHAR(123.3-------------123.34SQL> select TO_CHAR(123.34, '9999999.0099') from DUAL2 ;TO_CHAR(123.3-------------123.3400SQL> select to_char(sysdate,'Month,Day,YYYY') from dual;TO_CHAR(SYSDATE,'MONTH,DAY,YYYY'--------------------------------January ,Sunday ,2016SQL> select to_char(sysdate,'year,month,day') from dual;TO_CHAR(SYSDATE,'YEAR,MONTH,DAY')----------------------------------------------------------------------twenty sixteen,january ,sundaySQL> select to_char(sysdate,'year,fmmonth,day') from dual;TO_CHAR(SYSDATE,'YEAR,FMMONTH,DAY')----------------------------------------------------------------------twenty sixteen,january,sunday
本文详细介绍了在Oracle数据库中使用FM进行日期和数字格式化的特殊规则。通过实例展示了FM如何控制空格的移除与否,适用于奇数次出现去除空格、偶数次保留空格的场景。
5016

被折叠的 条评论
为什么被折叠?



