我正在学习SQL,我看到这个表示法显示日期:
SELECT last_name, TO_CHAR(hire_date, 'fmDD Month YYYY') AS HIREDATE FROM employees
fm
的前缀是什么意思?感谢
答案 0 :(得分:2)
fm
前缀指定您不希望获得前导字符(see docs)。默认情况下,to_char
函数将生成一个固定宽度的字符串(这可以追溯到创建Oracle时,人们想要生成基于文本的报告,这些报告将被发送到具有固定宽度字体的打印机,因此它对于一切都有相同数量的字符。)
例如,格式掩码Month
表示月份。默认情况下,将空格填充到最长月份名称的长度(9月份为英文,因此为9个字符)。 fm
前缀删除了这些空格。如果它在当月10日之前,它也会在当天摆脱领先的0。如果您要向打印机生成文本报告,这将是痛苦的,因为您的列不再排队。在现代工具中,它只是消除烦人的无关角色。