有关Oracle SQL日期语法(fm)的说明?

时间:2014-03-05 22:14:11

标签: sql oracle-sqldeveloper

我正在学习SQL,我看到这个表示法显示日期:

SELECT last_name, TO_CHAR(hire_date, 'fmDD Month YYYY') AS HIREDATE FROM employees

fm的前缀是什么意思?感谢

1 个答案:

答案 0 :(得分:2)

fm前缀指定您不希望获得前导字符(see docs)。默认情况下,to_char函数将生成一个固定宽度的字符串(这可以追溯到创建Oracle时,人们想要生成基于文本的报告,这些报告将被发送到具有固定宽度字体的打印机,因此它对于一切都有相同数量的字符。)

例如,格式掩码Month表示月份。默认情况下,将空格填充到最长月份名称的长度(9月份为英文,因此为9个字符)。 fm前缀删除了这些空格。如果它在当月10日之前,它也会在当天摆脱领先的0。如果您要向打印机生成文本报告,这将是痛苦的,因为您的列不再排队。在现代工具中,它只是消除烦人的无关角色。